Build e release
pipeline com
Docker
Meetup DockerSP
• Programador
• MVP
• Não gerente
• Trouxe a Scrum.org, PSM e PSD pro Brasil
• blog.lambda3.com.br, dotnetarchitects.net
• @giovannibassi
• Escalador e ciclista
Giovanni Bassi
podcast.lambda3.com.br
0 – Eventos
1 – Docker
2 – .NET Core RC2
3 – Git
4 – Estudo
5 – Open Source
6 – Xamarin
7 – Node.js
8 – Democracia organizacional
9 – O programador poliglota
...
Toda sexta-feira em:
M u i t a s d e m o s
• Build e release pipeline
• Release Contínuo
• Docker
Agenda
Entrega contínua: todo commit pode ir
pra produção, estamos sempre prontos
Release contínuo: todo commit vai para
produção
Release Contínuo e Entrega contínua
Build pipeline
1.0.0
2.0.0
2.1.0
2.1.0
CI-fast CI-slow QA Production
2.1.1
2.1.0
2.1.0
Semver
1.0.0
2.0.0
2.1.0
2.1.1
major
minor
patch
• Artefatos propagam a cada estágio, artefatos de release gerados no primeiro estágio
• Testes automatizados, de unidade, integração e de aceitação
• Totalmente automatizado
• Incluindo o banco de dados e os contêineres
• Foco no feedback rápido
• Pipeline visível
• Slack/Rocket.chat
• Monitor
• Email
• Quem quebrou arruma
• Coleta de métricas
Considerações
Artefato
O que é o artefato?
B U I L D
Build pipeline com Contêiners
Build
Commit
Commit
Commit
Imagem
R E L E A S E
Build pipeline com Contêineres
Prod
Homolog
Imagem
HOST
• Tooling
Tooling
Visual Studio Team Services
Release Pipeline
Agente de build de VSTS para Docker
https://hub.docker.com/r/lambda3/vsts-agent/ e http://bit.ly/almdocker
Docker Task
http://bit.ly/dockerbuildtask ou https://marketplace.visualstudio.com/items?itemName=lambda3.lambda3docker
Demo
Azure Container Services
Camada Tecnologias
Configuração como
código
ARM, Dockerfile, docker-
composse
Gestão do cluster de
hosts
VM Scale sets
Orquestração dos
contêineres
Docker Swarm, DCOS,
Marahton, Chronos, Mesos
Monitoramento OMS
Armazenamento
Rede dos contêineres
Segurança
Pipeline de DevOps
Identidade
Integração com
ferramental
Azure Stack Azure
VMs e VM Scale Sets
Windows Server Linux
Template ARM Contêineres
Ferramental de serviços
Ferramental de
Contêineres
Container Services
A z u r e C o n t a i n e r S e r v i c e s
• Novo tipo de recurso
• Define recursos utilizados
• Abordagem em camadas
• Agilidade para acompanhar inovações
• APIs definidas pelo mercado
• Portabilidade
• Hosts são gado
• Sem necessidade de gerenciá-los
• Contêineres são gado ou de estimação
• Depende do tipo de aplicação
Contêineres como recursos no Azure
Conectando com o Azure Container Service
Demo
• Agente de Build: https://hub.docker.com/r/lambda3/vsts-agent/
• Post explicando como funciona: http://bit.ly/almdocker
• Docker Build Task: http://bit.ly/dockerbuildtask
• Azure Container Service: https://azure.microsoft.com/pt-br/services/container-service/
• Tag de DevOps no blog: http://blog.lambda3.com.br/tag/devops/
Recursos
Dúvidas?
Perguntas
@giovannibassi
Avenida Angélica, 2318, 1º andar | Consolação - São Paulo - SP
11 2386.1886 | contato@lambda3.com.br
w w w. l a m b d a 3 . c o m . b
r

Build e release pipeline com docker

  • 1.
    Build e release pipelinecom Docker Meetup DockerSP
  • 3.
    • Programador • MVP •Não gerente • Trouxe a Scrum.org, PSM e PSD pro Brasil • blog.lambda3.com.br, dotnetarchitects.net • @giovannibassi • Escalador e ciclista Giovanni Bassi
  • 4.
    podcast.lambda3.com.br 0 – Eventos 1– Docker 2 – .NET Core RC2 3 – Git 4 – Estudo 5 – Open Source 6 – Xamarin 7 – Node.js 8 – Democracia organizacional 9 – O programador poliglota ... Toda sexta-feira em:
  • 5.
    M u it a s d e m o s • Build e release pipeline • Release Contínuo • Docker Agenda
  • 6.
    Entrega contínua: todocommit pode ir pra produção, estamos sempre prontos Release contínuo: todo commit vai para produção Release Contínuo e Entrega contínua
  • 7.
  • 8.
  • 9.
    • Artefatos propagama cada estágio, artefatos de release gerados no primeiro estágio • Testes automatizados, de unidade, integração e de aceitação • Totalmente automatizado • Incluindo o banco de dados e os contêineres • Foco no feedback rápido • Pipeline visível • Slack/Rocket.chat • Monitor • Email • Quem quebrou arruma • Coleta de métricas Considerações
  • 10.
    Artefato O que éo artefato?
  • 11.
    B U IL D Build pipeline com Contêiners Build Commit Commit Commit Imagem
  • 12.
    R E LE A S E Build pipeline com Contêineres Prod Homolog Imagem HOST
  • 13.
  • 14.
  • 15.
  • 16.
    Agente de buildde VSTS para Docker https://hub.docker.com/r/lambda3/vsts-agent/ e http://bit.ly/almdocker
  • 17.
    Docker Task http://bit.ly/dockerbuildtask ouhttps://marketplace.visualstudio.com/items?itemName=lambda3.lambda3docker
  • 18.
  • 19.
    Azure Container Services CamadaTecnologias Configuração como código ARM, Dockerfile, docker- composse Gestão do cluster de hosts VM Scale sets Orquestração dos contêineres Docker Swarm, DCOS, Marahton, Chronos, Mesos Monitoramento OMS Armazenamento Rede dos contêineres Segurança Pipeline de DevOps Identidade Integração com ferramental Azure Stack Azure VMs e VM Scale Sets Windows Server Linux Template ARM Contêineres Ferramental de serviços Ferramental de Contêineres Container Services
  • 20.
    A z ur e C o n t a i n e r S e r v i c e s • Novo tipo de recurso • Define recursos utilizados • Abordagem em camadas • Agilidade para acompanhar inovações • APIs definidas pelo mercado • Portabilidade • Hosts são gado • Sem necessidade de gerenciá-los • Contêineres são gado ou de estimação • Depende do tipo de aplicação Contêineres como recursos no Azure
  • 21.
    Conectando com oAzure Container Service
  • 22.
  • 23.
    • Agente deBuild: https://hub.docker.com/r/lambda3/vsts-agent/ • Post explicando como funciona: http://bit.ly/almdocker • Docker Build Task: http://bit.ly/dockerbuildtask • Azure Container Service: https://azure.microsoft.com/pt-br/services/container-service/ • Tag de DevOps no blog: http://blog.lambda3.com.br/tag/devops/ Recursos
  • 24.
  • 25.
    Avenida Angélica, 2318,1º andar | Consolação - São Paulo - SP 11 2386.1886 | contato@lambda3.com.br w w w. l a m b d a 3 . c o m . b r