Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[AgileBR'19] Aprenda a construir uma dev-cli do...

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

[AgileBR'19] Aprenda a construir uma dev-cli do zero

No dia-a-dia de um projeto de desenvolvimento de software, temos além da escrita regular de código, muitas outras tarefas como se conectar a uma VPN; atualizar e integrar código; se conectar e fazer consultas em DBs; configurar ambiente de desenvolvimento ou teste; além de investigar problemas. Quando somado, o tempo gasto nessas tarefas é considerável.
Composta por diversos scripts, a dev-cli é uma interface de comando no terminal que visa facilitar a vida e dar um boost na produtividade das pessoas desenvolvedoras. Essa técnica não é nova, no entanto, poucas pessoas desenvolvedoras conhecem e desfrutam de seus benefícios.
Vamos construir uma dev-cli para um projeto open source juntas, a partir de um bootstrap. Tendo colocado a mão na massa, vai ser mais fácil adotar em seu projeto.

Avatar for Camilla Crispim

Camilla Crispim

September 11, 2019
Tweet

More Decks by Camilla Crispim

Other Decks in Technology

Transcript

  1. # 1 - Entender e se familiarizar com a base

    de código # 2 - Ter conhecimento da aplicação "Quero poder contribuir!" "Quero ajudar com a minha experiência!" "Quero aprender" P E S S O A N O V A
  2. Todos os dias P E S S O A D

    E S E N V O L V E DO R A
  3. "O que é a aplicação? "Como funciona?" Quais casos de

    uso tem?" "Como configurar, instalar e começar a codar?" documentação P E S S O A N O V A
  4. "O que é a aplicação? "Como funciona?" Quais casos de

    uso tem?" "Como configurar, instalar e começar a codar?" documentação L O N G A P E S S O A N O V A
  5. "O que é a aplicação? "Como funciona?" Quais casos de

    uso tem?" "Como configurar, instalar e começar a codar?" documentação L O N G A P E S S O A N O V A M O R O S A
  6. "O que é a aplicação? "Como funciona?" Quais casos de

    uso tem?" "Como configurar, instalar e começar a codar?" documentação L O N G A P E S S O A N O V A M O R O S A D E S A T U A L I Z A D A
  7. "O que é a aplicação? "Como funciona?" Quais casos de

    uso tem?" "Como configurar, instalar e começar a codar?" documentação L O N G A P E S S O A N O V A M O R O S A D E S A T U A L I Z A D A S U B J E T I V A
  8. "O que é a aplicação? "Como funciona?" Quais casos de

    uso tem?" "Como configurar, instalar e começar a codar?" documentação L O N G A P E S S O A N O V A M O R O S A D E S A T U A L I Z A D A S U B J E T I V A P R O P E N S A A E R R O
  9. documentação x dev-cli D O C U M E N

    T A Ç Ã O E X E C U T A V E L Escrever script >>>> Escrever documentação N Ó S D E V C L I
  10. documentação x dev-cli D O C U M E N

    T A Ç Ã O E X E C U T A V E L D O C U M E N T A Ç Ã O A T U A L I Z A D A Escrever script >>>> Escrever documentação N Ó S D E V C L I
  11. dev-cli setup Um exemplo Ú N I C O C

    O M A N D O "Quais dependências preciso?" "Tenho todas instaladas?" "Quais versões mínimas?" P E S S O A N O V A
  12. dev-cli setup Um exemplo S T A T U S

    D O A M B I E N T E L O C A L Ú N I C O C O M A N D O "Quais dependências preciso?" "Tenho todas instaladas?" "Quais versões mínimas?" P E S S O A N O V A
  13. dev-cli setup Um exemplo S T A T U S

    D O A M B I E N T E L O C A L I N S T A L A R C O N F I G U R A R, F A Z E R B U I L D I N I C I A R A A P L I C A Ç Ã O Ú N I C O C O M A N D O "Quais dependências preciso?" "Tenho todas instaladas?" "Quais versões mínimas?" P E S S O A N O V A
  14. automação de tarefas P E S S O A D

    E S E N V O L V E D O R A
  15. automação de tarefas P E S S O A D

    E S E N V O L V E D O R A "Qual o link de…?" "Deixa ver se eu não quebrei nada que tava funcionando..." "Eita, deixa eu ver o erro que deu..." "Não sei porque quebrou no CI. Funciona na minha máquina!"
  16. automação de tarefas P E S S O A D

    E S E N V O L V E D O R A "Qual o link de…?" "Deixa ver se eu não quebrei nada que tava funcionando..." "Eita, deixa eu ver o erro que deu..." "Não sei porque quebrou no CI. Funciona na minha máquina!"
  17. dev-cli url [alias] [all] lista as URLs relevantes para o

    projeto dev-cli test [all] executar todos os testes, em todos os níveis da pirâmide dev-cli dance combinação de git pull -r && build && test all && git push dev-cli ci-server [status] verificar o status atual do servidor de ci; dev-cli git [say-2] [msg-commit] mensagem customizada de commit, para incluir o par que está trabalhando na issue dev-cli * Muitas possibilidades!
  18. dev-cli log [env] imprime logs da app/serviço em determinado ambiente

    dev-cli vpn comando para conectar na VPN dev-cli aws comandos for interacting with Amazon Web Services dev-cli create user comando para criar um usuário do sistema dev-cli ssh [env] comandos para fazer ssh nas instâncias aws dev-cli * Muitas possibilidades!
  19. + Plug and Play - cuidado com a mágica +

    ganhar velocidade e confiança - nem tudo pede automação dev-cli tudo? Hold on
  20. + Plug and Play - cuidado com a mágica +

    ganhar velocidade e confiança - nem tudo pede automação + experiência de desenvolvimento - nem todo projeto precisa de dev-cli dev-cli tudo? Hold on
  21. - Projeto Open Source - Não discrimina pessoas travestis e

    transexuais; - Ajuda na contratação dessas pessoas em busca de emprego e/ou na indicação de serviços verdadeiramente respeitosos com essas pessoas; - A adição de uma dev-cli pode ajudar pessoas desenvolvedoras dispostas a contribuir com esse projeto; - Conheça em: http://transervicos.org Contexto: O projeto https://www.freetheessence.com.br/nova-economia/modelos-disruptivos/transervicos-uma-plataforma- para-quem-nao-discrimina-trans-e-travestis/
  22. Tech Stack R U B Y O N R A

    I L S J A V A S C R I P T C S S H T M L P O S T G R E S D O C K E R
  23. Tech Stack R U B Y O N R A

    I L S J A V A S C R I P T C S S H T M L P O S T G R E S D O C K E R W E B D B D O C K E R C O M P O S E
  24. dev-cli bootstrap B O O T S T R A

    P D E V C L I https://github.com/millafalconi/devcli https://github.com/mavcunha/devcli
  25. M O B P R O G R A M

    M I N G D E S A F I O S
  26. M O B P R O G R A M

    M I N G P A R E A M E N T O D E S A F I O S
  27. M O B P R O G R A M

    M I N G P A R E A M E N T O 5 M I N U T O S D E S A F I O S
  28. M O B P R O G R A M

    M I N G P A R E A M E N T O T R O C A 1 P E S S O A 5 M I N U T O S D E S A F I O S
  29. M O B P R O G R A M

    M I N G P A R E A M E N T O T R O C A 1 P E S S O A 5 M I N U T O S D E S A F I O S C O L A C H E A T S H E E T
  30. M O B P R O G R A M

    M I N G P A R E A M E N T O T R O C A 1 P E S S O A 5 M I N U T O S D E S A F I O S S E T U P D A D E V C L I D E S A F I O #1 C O L A C H E A T S H E E T
  31. dev-cli dev [init] [start] [stop] atalhos para configurar e rodar

    a aplicação no ambiente local de desenvolvimento Os Desafios
  32. dev-cli dev [init] [start] [stop] atalhos para configurar e rodar

    a aplicação no ambiente local de desenvolvimento dev-cli setup atalhos para ajudar com o setup do projeto Os Desafios
  33. Os Desafios dev-cli dev [init] [start] [stop] atalhos para configurar

    e rodar a aplicação no ambiente local de desenvolvimento dev-cli setup atalhos para ajudar com o setup do projeto dev-cli test [unit] [style] [all] atalhos para executar testes
  34. Os Desafios dev-cli dev [init] [start] [stop] atalhos para configurar

    e rodar a aplicação no ambiente local de desenvolvimento dev-cli setup atalhos para ajudar com o setup do projeto dev-cli test [unit] [style] [all] atalhos para executar testes dev-cli url [all] [alias] Lista URLs relevantes
  35. Os Desafios dev-cli dev [init] [start] [stop] atalhos para configurar

    e rodar a aplicação no ambiente local de desenvolvimento dev-cli setup atalhos para ajudar com o setup do projeto dev-cli test [unit] [style] [all] atalhos para executar testes dev-cli url [all] [alias] Lista URLs relevantes dev-cli dance Faz o pull do código mais atual do git, executa os testes, verifica status do CI e faz push do código.
  36. Referências - https://pt.slideshare.net/tdc-globalcode/tdc2018sp-trilha-agile-onboarding-tcnico-integrand o-pessoas-em-times-de-desenvolvimento-agil-de-forma-efetiva - https://www.freetheessence.com.br/nova-economia/modelos-disruptivos/transervicos-uma -plataforma-para-quem-nao-discrimina-trans-e-travestis/ - https://github.com/mavcunha/devcli -

    https://github.com/millafalconi/transervicos - http://iszlai.github.io/post/the_dev_cli/ - https://pt.slideshare.net/AndreiTognolo/agilidade-no-nvel-de-codificao-reduzindo-interrupe s-passivas - https://blog.ninlabs.com/2013/01/programmer-interrupted/ - https://roselmamendes.github.io/tec/entrega-continua-1/ - https://linuxacademy.com/howtoguides/posts/show/topic/14343-automating-common-task s-with-scripts