GoCD + Docker 🐳 + Docker Compose 🐙: uma história de
amor ❤
Stefan Teixeira @stefan_teixeira
[email protected] stefanteixeira.com.br
stefanteixeira.com
• 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: [email protected] • Twitter: twitter.com/stefan_teixeira • Facebook: facebook.com/stefan.teixeira • LinkedIn: linkedin.com/in/stefanteixeira • GitHub: github.com/stefanteixeira • SlideShare: slideshare.net/stefanteixeira
Sobre
O que é GoCD?
Antes do GoCD
Depois do 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://github.com/gocd/gocd
Por que GoCD?
O poder das abstrações certas
Pipelines são first-class citizens
Como funciona?
Mas o Jenkins não faz isso tudo?
Faz, mas…
GoCD x Jenkins
GoCD x Jenkins
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 versão paga 💩
https://www.thoughtworks.com/pt/radar/tools/jenkins-as-a-deployment-pipeline
GoCD + Docker
Imagens do GoCD no DockerHub
https://hub.docker.com/r/gocd/gocd-server/ | https://hub.docker.com/r/gocd/gocd-agent/
GoCD + Docker Compose
GoCD + Docker Compose (v2)
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 (menos simples, porém mais recomendado)
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
CI Remote
http://timoa.com/projects/ci-remote-for-go-server
"Quero ver se o GoCD é isso tudo…"
Demonstração
• Exemplo real de pipeline • Menu admin • Triggers manuais • Adicionando um novo pipeline • Verificando value stream map • Resources
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 😃
Obrigado!
Stefan Teixeira @stefan_teixeira
[email protected] stefanteixeira.com.br
stefanteixeira.com
Top Related