O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
GoCD + Docker 🐳 + Docker
Compose 🐙: uma história de
amor ❤
Stefan Teixeira
@stefan_teixeira
stefanfk@gmail.com
stefanteixe...
• QA Engineer @ M4U
• Entusiasta de Automação de Testes, Agile Testing e DevOps
• Blogs técnicos: stefanteixeira.com.br (p...
O que é GoCD?
GoCD
• Criado pela ThoughtWorks
https://www.go.cd/ | https://github.com/gocd/gocd
GoCD
• Criado pela ThoughtWorks
• Open-source (desde Fev/2014)
https://www.go.cd/ | https://github.com/gocd/gocd
GoCD
• Criado pela ThoughtWorks
• Open-source (desde Fev/2014)
• Foco em Continuous Delivery
https://www.go.cd/ | https://...
Por que GoCD?
O poder das abstrações certas
Pipelines são first-class citizens
Como funciona?
Documentação
https://docs.go.cd/current/
API Reference
https://api.go.cd/current/
Plugins
https://www.go.cd/community/plugins.html
GoCD x Jenkins
GoCD x Jenkins
Mas o Jenkins não faz isso tudo?
Faz, mas…
Build Pipeline Plugin
Build Pipeline Plugin
💩
Build Flow Plugin
Build Flow Plugin
É bom, mas não suporta steps manuais… 😞
Pipeline Plugin (antigo Workflow)
• TUDO em Job DSL (Groovy) 👍
Pipeline Plugin (antigo Workflow)
• TUDO em Job DSL (Groovy) 👍
• Foco em Continuous Delivery 👍
Pipeline Plugin (antigo Workflow)
• TUDO em Job DSL (Groovy) 👍
• Foco em Continuous Delivery 👍
• Visualização decente só na...
GoCD + Docker
Quando vi o GoCD rodando
Imagens do GoCD no DockerHub
https://hub.docker.com/r/gocd/gocd-server/ | https://hub.docker.com/r/gocd/gocd-agent/
Customizando imagens
https://github.com/gocd/gocd-docker
GoCD + Docker Compose
GoCD + Docker Compose
• Volumes: 2 opções possíveis
GoCD + Docker Compose
• Volumes: 2 opções possíveis
➡ Mapeamento com host
GoCD + Docker Compose
• Volumes: 2 opções possíveis
➡ Mapeamento com host (mais
simples, menos portável)
GoCD + Docker Compose
• Volumes: 2 opções possíveis
➡ Mapeamento com host (mais
simples, menos portável)
➡ Data container
GoCD + Docker Compose
• Volumes: 2 opções possíveis
➡ Mapeamento com host (mais
simples, menos portável)
➡ Data container ...
E se eu quiser 3 agents?
E se eu quiser 3 agents?
👏👏👏👏👏
E pra rodar Docker dentro do GoCD?
OBS: Dependendo do OS,
binding de algumas
libs serão necessárias!
Outros Projetos
Build Window
https://github.com/rouanw/build-window
CI Remote
http://timoa.com/projects/ci-remote-for-go-server
Demonstração
Referências
• https://highops.com/insights/continuous-
delivery-pipelines-gocd-vs-jenkins/
• http://thoughtworks.github.io...
Obrigado!
Stefan Teixeira
@stefan_teixeira
stefanfk@gmail.com
stefanteixeira.com.br
stefanteixeira.com
Meetup DevOps Carioca - GoCD + Docker + Docker Compose: uma história de amor
Meetup DevOps Carioca - GoCD + Docker + Docker Compose: uma história de amor
Meetup DevOps Carioca - GoCD + Docker + Docker Compose: uma história de amor
Próximos SlideShares
Carregando em…5
×

Meetup DevOps Carioca - GoCD + Docker + Docker Compose: uma história de amor

1.062 visualizações

Publicada em

Palestra apresentada na segunda edição do Meetup DevOps Carioca, no dia 22/03. Página do grupo: http://www.meetup.com/DevOps-Carioca/

Publicada em: Tecnologia

Meetup DevOps Carioca - GoCD + Docker + Docker Compose: uma história de amor

  1. 1. GoCD + Docker 🐳 + Docker Compose 🐙: uma história de amor ❤ Stefan Teixeira @stefan_teixeira stefanfk@gmail.com stefanteixeira.com.br stefanteixeira.com
  2. 2. • QA Engineer @ M4U • Entusiasta de Automação de Testes, Agile Testing e DevOps • Blogs técnicos: stefanteixeira.com.br (pt-br) / stefanteixeira.com (en) Contatos: • E-mail: stefanfk@gmail.com • Twitter: twitter.com/stefan_teixeira • Facebook: facebook.com/stefan.teixeira • LinkedIn: linkedin.com/in/stefanteixeira • GitHub: github.com/stefanteixeira • SlideShare: slideshare.net/stefanteixeira Sobre
  3. 3. O que é GoCD?
  4. 4. GoCD • Criado pela ThoughtWorks https://www.go.cd/ | https://github.com/gocd/gocd
  5. 5. GoCD • Criado pela ThoughtWorks • Open-source (desde Fev/2014) https://www.go.cd/ | https://github.com/gocd/gocd
  6. 6. GoCD • Criado pela ThoughtWorks • Open-source (desde Fev/2014) • Foco em Continuous Delivery https://www.go.cd/ | https://github.com/gocd/gocd
  7. 7. Por que GoCD?
  8. 8. O poder das abstrações certas
  9. 9. Pipelines são first-class citizens
  10. 10. Como funciona?
  11. 11. Documentação https://docs.go.cd/current/
  12. 12. API Reference https://api.go.cd/current/
  13. 13. Plugins https://www.go.cd/community/plugins.html
  14. 14. GoCD x Jenkins
  15. 15. GoCD x Jenkins
  16. 16. Mas o Jenkins não faz isso tudo?
  17. 17. Faz, mas…
  18. 18. Build Pipeline Plugin
  19. 19. Build Pipeline Plugin 💩
  20. 20. Build Flow Plugin
  21. 21. Build Flow Plugin É bom, mas não suporta steps manuais… 😞
  22. 22. Pipeline Plugin (antigo Workflow) • TUDO em Job DSL (Groovy) 👍
  23. 23. Pipeline Plugin (antigo Workflow) • TUDO em Job DSL (Groovy) 👍 • Foco em Continuous Delivery 👍
  24. 24. Pipeline Plugin (antigo Workflow) • TUDO em Job DSL (Groovy) 👍 • Foco em Continuous Delivery 👍 • Visualização decente só na versão paga 💩
  25. 25. GoCD + Docker
  26. 26. Quando vi o GoCD rodando
  27. 27. Imagens do GoCD no DockerHub https://hub.docker.com/r/gocd/gocd-server/ | https://hub.docker.com/r/gocd/gocd-agent/
  28. 28. Customizando imagens https://github.com/gocd/gocd-docker
  29. 29. GoCD + Docker Compose
  30. 30. GoCD + Docker Compose • Volumes: 2 opções possíveis
  31. 31. GoCD + Docker Compose • Volumes: 2 opções possíveis ➡ Mapeamento com host
  32. 32. GoCD + Docker Compose • Volumes: 2 opções possíveis ➡ Mapeamento com host (mais simples, menos portável)
  33. 33. GoCD + Docker Compose • Volumes: 2 opções possíveis ➡ Mapeamento com host (mais simples, menos portável) ➡ Data container
  34. 34. GoCD + Docker Compose • Volumes: 2 opções possíveis ➡ Mapeamento com host (mais simples, menos portável) ➡ Data container (menos simples, porém mais recomendado)
  35. 35. E se eu quiser 3 agents?
  36. 36. E se eu quiser 3 agents? 👏👏👏👏👏
  37. 37. E pra rodar Docker dentro do GoCD?
  38. 38. OBS: Dependendo do OS, binding de algumas libs serão necessárias!
  39. 39. Outros Projetos
  40. 40. Build Window https://github.com/rouanw/build-window
  41. 41. CI Remote http://timoa.com/projects/ci-remote-for-go-server
  42. 42. Demonstração
  43. 43. Referências • https://highops.com/insights/continuous- delivery-pipelines-gocd-vs-jenkins/ • http://thoughtworks.github.io/p2/issue11/go- cd-the-right-tool-for-he-job/ • PS: Outras referências estão nos slides, na parte de baixo 😃
  44. 44. Obrigado! Stefan Teixeira @stefan_teixeira stefanfk@gmail.com stefanteixeira.com.br stefanteixeira.com

×