SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Construindo Pipeline
com Azure DevOps
Camila Carrera
TDC Recife 2019
DevOps
whoami
● Camila
● Soteropolitana em Recife
● Tecnóloga em Redes
● Desenvolvedora Sênior @
Thoughtworks
Contexto
● Time com conhecimento bem básico em infra
● Pouca “intimidade” com cultura DevOps
● Entendimento sobre conceitos de CI/CD, mas não na parte de
infra
● Sem poder de escolha quanto a ferramenta (tinha que ser essa!!)
● Ninguém do time tinha mexido com Azure DevOps antes
● O cliente esperava autonomia do time em relação aos "lower level
environments"
● A.K.A = Te vira e faz o teu, bença!
Azure DevOps
Azure DevOps Server
On-premises
Azure DevOps Service
Cloud based
Azure DevOps
cloud service que combina integração
contínua (CI) e entrega contínua (CD),
que permite "buildar" e testar seu
projeto feito em qualquer linguagem,
qualquer plataforma e implantar para
qualquer cloud / on-premises
Azure Pipelines
Build Pipelines (CI)
● Construir/compilar, executar testes
automatizados, criar e publicar artefatos
● Visual Designer ou Pipeline as code (YAML)
● Detectar falhas e bugs cedo
● Sumário de testes, identificar principais pontos
de erros
● Cobertura de código
Primeiramente, o código!
● Permite conectar com
os principais
"providers" de controle
de versão
● Cada pipeline só pode
ser disparada por um
repositório
● Q3 2019: deve ser
lançada opção de
multi-repository para
YAML pipelines
Auto-detect
● Detecta qual tipo de
projeto (linguagem /
framework) permitindo
sugerir um template para
construir sua build
pipeline
● Ou pode começar do
zero, com YAML file ou
usando o Visual Designer
sugestões ao selecionar um repositório com código em JS
"Anatomia" da pipeline Get Sources: conecta com o repositório onde
está o seu código
Jobs: série de passos que são executados
sequencialmente como uma unidade.
Agents: VMs onde os jobs são executados e são
descartadas após a execução. São providas
algumas opções de VMs pré-definidas
(Microsoft-hosted) rodando Windows, Linux ou
MacOS. Ou você pode também criar seus
próprios agents (self-hosted).
Tasks: Passos que serão executados em um job,
que nada mais são que scripts abstraídos em
uma série de inputs para atingirem um objetivo
específico.
Onde achar essas tasks?
● Catálogo com centenas de tasks "out-
of-the-box"
● Algumas tasks exclusivas para build
ou para release e algumas para
ambos tipos de pipelines
● Na falta de tasks específicas:
○ Você pode criar suas próprias
tasks, em caso de necessidade de
reuso em diferentes pipelines
○ Usar tasks de execução de scripts
(PowerShell, bash)
Pipeline as Code
● Permite o uso de templates e
reutilizar um conjunto de tasks
● Permite versionar sua pipeline
junto com o código da sua
aplicação
● Oferece um "assistente" para
adicionar tasks
● Facilita o diff entre duas
versões de uma pipeline
● Para release, essa é uma
funcionalidade nova e está em
preview ainda. Para usar, é
necessário habilitar a opção
multi-stage pipelines.
Build - Triggers
Continuous Integration
Pull Request Validation
Scheduled
Build Completion
Executa após a finalização de algum
outro build específico.
Test Results
● Sumário e estatísticas de
execução de testes
● Relatório de incidências
de falhas
● Testes e classes que
costumam falhar com
mais frequência
Como usamos no projeto?
Validação de Pull RequestIntegração contínua
Publicar Docker Image
Publicar artefatos para release
Publicar pacotes NPM privados
Execução de testes de unitários,
de aceitação e de integração
Release Pipelines
● Deploy de artefatos gerados pela build pipelines
● Diferentes stages/ambientes
● Disparo automático (após build sem falha) ou não
● Regras para promoção de código entre stages
● Visual Designer
○ YAML apenas para multi-stage pipeline, ainda em preview
Release Pipelines
Artefato gerado
pela build pipeline
Jobs e tasks executadas
para cada ambiente
Pré e Pós-deployment
approvers e gates
Disparo programado /
periódico
Release - Triggers
Artifacts Stages
Approvals / Gates
Approvers: define as pessoas do
time que podem aprovar ou recusar
um stage.
Gates: verifica, automaticamente,
sistemas externos na espera de uma
determinada condição.
Manual intervention: pausa o deploy
para execução de uma tarefa
manual
E como usamos?
Deploy de artefatos para
diferentes ambientes:
● Azure App Services
● Azure Functions
DB Seeding
Execução de SQL queries
Health Check
Criação, manutenção e
configuração de recursos no
Azure
Configuração do Service Bus
"Limpeza" de dados regulares
em lower level enviroments
stages (dev, qa, uat)
Ok, curti. Quanto é?
https://azure.microsoft.com/en-us/pricing/details/devops/azure-devops-services/
Considerações finais
● Baixa curva de aprendizado
● Recursos “out-of-the-box”
● Integração muito fácil com outros serviços do Azure DevOps e
Azure
● Mas não limitado à produtos/serviços da Microsoft
● Funciona com qualquer linguagem, plataforma e cloud
● Sempre em construção, possui um roadmap das features por vir
● Não é a bala de prata (nenhuma ferramenta/serviço é), mas tem
funcionado muito bem para um projeto grande
Até mais, e
obrigada pelos
peixes! ❏ http://camilacarrera.com
❏ contato@camilacarrera.com
❏ http://github.com/milacarrera/
❏ http://linkedin.com/in/camila-carrera

Mais conteúdo relacionado

Mais procurados

DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilElias Nogueira
 
Building a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersBuilding a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersAmazon Web Services
 
CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton Araf Karsh Hamid
 
Azure DevOps CI/CD For Beginners
Azure DevOps CI/CD  For BeginnersAzure DevOps CI/CD  For Beginners
Azure DevOps CI/CD For BeginnersRahul Nath
 
Exposing services with Azure API Management
Exposing services with Azure API ManagementExposing services with Azure API Management
Exposing services with Azure API ManagementCallon Campbell
 
Como criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containersComo criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containersElias Nogueira
 
Azure DevOps for Developers
Azure DevOps for DevelopersAzure DevOps for Developers
Azure DevOps for DevelopersSarah Dutkiewicz
 
SecDevOps - The Operationalisation of Security
SecDevOps -  The Operationalisation of SecuritySecDevOps -  The Operationalisation of Security
SecDevOps - The Operationalisation of SecurityDinis Cruz
 
Azure Application insights - An Introduction
Azure Application insights - An IntroductionAzure Application insights - An Introduction
Azure Application insights - An IntroductionMatthias Güntert
 
Test Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.comTest Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.comIdexcel Technologies
 
DevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation SlidesDevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation SlidesSlideTeam
 
Pipeline based deployments on Jenkins
Pipeline based deployments  on JenkinsPipeline based deployments  on Jenkins
Pipeline based deployments on JenkinsKnoldus Inc.
 
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOpsWashington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOpsBig Compass
 
Azure DevOps & GitHub... Better Together!
Azure DevOps & GitHub... Better Together!Azure DevOps & GitHub... Better Together!
Azure DevOps & GitHub... Better Together!Lorenzo Barbieri
 

Mais procurados (20)

DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágil
 
Building a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersBuilding a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containers
 
CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton
 
Azure Pipelines
Azure PipelinesAzure Pipelines
Azure Pipelines
 
Azure DevOps CI/CD For Beginners
Azure DevOps CI/CD  For BeginnersAzure DevOps CI/CD  For Beginners
Azure DevOps CI/CD For Beginners
 
Exposing services with Azure API Management
Exposing services with Azure API ManagementExposing services with Azure API Management
Exposing services with Azure API Management
 
DevOps
DevOpsDevOps
DevOps
 
Como criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containersComo criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containers
 
BDD with Cucumber
BDD with CucumberBDD with Cucumber
BDD with Cucumber
 
Azure DevOps for Developers
Azure DevOps for DevelopersAzure DevOps for Developers
Azure DevOps for Developers
 
SecDevOps - The Operationalisation of Security
SecDevOps -  The Operationalisation of SecuritySecDevOps -  The Operationalisation of Security
SecDevOps - The Operationalisation of Security
 
Azure Application insights - An Introduction
Azure Application insights - An IntroductionAzure Application insights - An Introduction
Azure Application insights - An Introduction
 
DevOps: Infrastructure as Code
DevOps: Infrastructure as CodeDevOps: Infrastructure as Code
DevOps: Infrastructure as Code
 
DevOps Foundation
DevOps FoundationDevOps Foundation
DevOps Foundation
 
Test Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.comTest Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.com
 
DevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation SlidesDevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation Slides
 
Pipeline based deployments on Jenkins
Pipeline based deployments  on JenkinsPipeline based deployments  on Jenkins
Pipeline based deployments on Jenkins
 
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOpsWashington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
Washington DC MuleSoft Meetup: CI/CD Pipeline with MuleSoft and Azure DevOps
 
CICD with Jenkins
CICD with JenkinsCICD with Jenkins
CICD with Jenkins
 
Azure DevOps & GitHub... Better Together!
Azure DevOps & GitHub... Better Together!Azure DevOps & GitHub... Better Together!
Azure DevOps & GitHub... Better Together!
 

Semelhante a Construindo pipelines com Azure DevOps

Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAcelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAmazon Web Services LATAM
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAmazon Web Services LATAM
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasDevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasAmazon Web Services LATAM
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...Amazon Web Services
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4David Ruiz
 
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...Renato Groff
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptxCarlos Gonzaga
 
Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes	Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes Rhuan Karlus Silva
 
SonarQube
SonarQubeSonarQube
SonarQubeCDS
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareNorberto Santos
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo realEvandro Silvestre
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!Evandro Couto
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122Bruno Souza
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Renato Groff
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020Renato Groff
 
Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker ContainersHugo Henley
 
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOps
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOpsTDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOps
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOpstdc-globalcode
 
Integração Contínua com Hudson
Integração Contínua com HudsonIntegração Contínua com Hudson
Integração Contínua com HudsonLuis Reis
 

Semelhante a Construindo pipelines com Azure DevOps (20)

ESX Tech Lives - DevOps
ESX Tech Lives - DevOpsESX Tech Lives - DevOps
ESX Tech Lives - DevOps
 
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAcelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWS
 
Continuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na NuvemContinuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na Nuvem
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasDevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4
 
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
Simplificando a montagem de ambientes de Dev/Testes com Docker - Interop Summ...
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
 
Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes	Orquestrando ambientes com docker e kubernetes
Orquestrando ambientes com docker e kubernetes
 
SonarQube
SonarQubeSonarQube
SonarQube
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo real
 
Containers em produção!
Containers em produção!Containers em produção!
Containers em produção!
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
Docker de ponta a ponta: do Desenvolvimento à Nuvem - UNICID - Novembro-2019
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Fevereiro-2020
 
Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker Containers
 
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOps
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOpsTDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOps
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOps
 
Integração Contínua com Hudson
Integração Contínua com HudsonIntegração Contínua com Hudson
Integração Contínua com Hudson
 

Construindo pipelines com Azure DevOps

  • 1. Construindo Pipeline com Azure DevOps Camila Carrera TDC Recife 2019 DevOps
  • 2. whoami ● Camila ● Soteropolitana em Recife ● Tecnóloga em Redes ● Desenvolvedora Sênior @ Thoughtworks
  • 3. Contexto ● Time com conhecimento bem básico em infra ● Pouca “intimidade” com cultura DevOps ● Entendimento sobre conceitos de CI/CD, mas não na parte de infra ● Sem poder de escolha quanto a ferramenta (tinha que ser essa!!) ● Ninguém do time tinha mexido com Azure DevOps antes ● O cliente esperava autonomia do time em relação aos "lower level environments" ● A.K.A = Te vira e faz o teu, bença!
  • 4. Azure DevOps Azure DevOps Server On-premises Azure DevOps Service Cloud based
  • 6. cloud service que combina integração contínua (CI) e entrega contínua (CD), que permite "buildar" e testar seu projeto feito em qualquer linguagem, qualquer plataforma e implantar para qualquer cloud / on-premises
  • 8. Build Pipelines (CI) ● Construir/compilar, executar testes automatizados, criar e publicar artefatos ● Visual Designer ou Pipeline as code (YAML) ● Detectar falhas e bugs cedo ● Sumário de testes, identificar principais pontos de erros ● Cobertura de código
  • 9. Primeiramente, o código! ● Permite conectar com os principais "providers" de controle de versão ● Cada pipeline só pode ser disparada por um repositório ● Q3 2019: deve ser lançada opção de multi-repository para YAML pipelines
  • 10. Auto-detect ● Detecta qual tipo de projeto (linguagem / framework) permitindo sugerir um template para construir sua build pipeline ● Ou pode começar do zero, com YAML file ou usando o Visual Designer sugestões ao selecionar um repositório com código em JS
  • 11. "Anatomia" da pipeline Get Sources: conecta com o repositório onde está o seu código Jobs: série de passos que são executados sequencialmente como uma unidade. Agents: VMs onde os jobs são executados e são descartadas após a execução. São providas algumas opções de VMs pré-definidas (Microsoft-hosted) rodando Windows, Linux ou MacOS. Ou você pode também criar seus próprios agents (self-hosted). Tasks: Passos que serão executados em um job, que nada mais são que scripts abstraídos em uma série de inputs para atingirem um objetivo específico.
  • 12. Onde achar essas tasks? ● Catálogo com centenas de tasks "out- of-the-box" ● Algumas tasks exclusivas para build ou para release e algumas para ambos tipos de pipelines ● Na falta de tasks específicas: ○ Você pode criar suas próprias tasks, em caso de necessidade de reuso em diferentes pipelines ○ Usar tasks de execução de scripts (PowerShell, bash)
  • 13. Pipeline as Code ● Permite o uso de templates e reutilizar um conjunto de tasks ● Permite versionar sua pipeline junto com o código da sua aplicação ● Oferece um "assistente" para adicionar tasks ● Facilita o diff entre duas versões de uma pipeline ● Para release, essa é uma funcionalidade nova e está em preview ainda. Para usar, é necessário habilitar a opção multi-stage pipelines.
  • 14. Build - Triggers Continuous Integration Pull Request Validation Scheduled Build Completion Executa após a finalização de algum outro build específico.
  • 15. Test Results ● Sumário e estatísticas de execução de testes ● Relatório de incidências de falhas ● Testes e classes que costumam falhar com mais frequência
  • 16. Como usamos no projeto? Validação de Pull RequestIntegração contínua Publicar Docker Image Publicar artefatos para release Publicar pacotes NPM privados Execução de testes de unitários, de aceitação e de integração
  • 17. Release Pipelines ● Deploy de artefatos gerados pela build pipelines ● Diferentes stages/ambientes ● Disparo automático (após build sem falha) ou não ● Regras para promoção de código entre stages ● Visual Designer ○ YAML apenas para multi-stage pipeline, ainda em preview
  • 18. Release Pipelines Artefato gerado pela build pipeline Jobs e tasks executadas para cada ambiente Pré e Pós-deployment approvers e gates Disparo programado / periódico
  • 20. Approvals / Gates Approvers: define as pessoas do time que podem aprovar ou recusar um stage. Gates: verifica, automaticamente, sistemas externos na espera de uma determinada condição. Manual intervention: pausa o deploy para execução de uma tarefa manual
  • 21. E como usamos? Deploy de artefatos para diferentes ambientes: ● Azure App Services ● Azure Functions DB Seeding Execução de SQL queries Health Check Criação, manutenção e configuração de recursos no Azure Configuração do Service Bus "Limpeza" de dados regulares em lower level enviroments stages (dev, qa, uat)
  • 22. Ok, curti. Quanto é? https://azure.microsoft.com/en-us/pricing/details/devops/azure-devops-services/
  • 23. Considerações finais ● Baixa curva de aprendizado ● Recursos “out-of-the-box” ● Integração muito fácil com outros serviços do Azure DevOps e Azure ● Mas não limitado à produtos/serviços da Microsoft ● Funciona com qualquer linguagem, plataforma e cloud ● Sempre em construção, possui um roadmap das features por vir ● Não é a bala de prata (nenhuma ferramenta/serviço é), mas tem funcionado muito bem para um projeto grande
  • 24. Até mais, e obrigada pelos peixes! ❏ http://camilacarrera.com ❏ contato@camilacarrera.com ❏ http://github.com/milacarrera/ ❏ http://linkedin.com/in/camila-carrera

Notas do Editor

  1. Cloud based: software fica na nuvem e é adquirido através de assinatura (ou alguma outra forma de cobrança) é utilizado como serviço On-premises: software é instalado em servidores/computadores da empresa, é tratado como um produto --- https://azure.microsoft.com/pt-br/services/devops/ https://docs.microsoft.com/pt-br/azure/devops/pipelines/get-started/what-is-azure-pipelines?view=azure-devops
  2. Azure Boards: Oferece quadros Kanban para planejamento e acompanhamento do projeto Permite criar vários tipos de cards, como features, backlog itens, tasks, bugs. Além disso oferece ferramentas para geração de relatórios, quadros para retrospectivas, entre outras coisas. Azure Pipelines: Serviço de cloud que pode ser usado para, de forma automatizada, construir, testar e implantar seu código e disponibilizá-lo para terceiros. Funciona com a maioria das linguagens e se integra facilmente com provedores de controle de versão e hosting, não sendo obrigado necessariamente a usar os serviços da própria microsoft. Azure Repos: Oferece ferramentas de controle de versão, podendo escolher entre dois tipos: Git, distribuído, como o que costumamos usar TFVC (team foundation version control) que é centralizado, ou seja, as várias versão de um arquivo fica armazenado num servidor, enquanto na nossa máquina fica apenas a versão na qual estamos trabalhando. Azure Test Plans: ss Azure Artifacts ss
  3. https://docs.microsoft.com/pt-br/azure/devops/pipelines/get-started/what-is-azure-pipelines?view=azure-devops
  4. Fluxo end-to-end, desde o desenvolvimento
  5. https://docs.microsoft.com/en-us/azure/devops/pipelines/repos/?view=azure-devops
  6. https://docs.microsoft.com/en-us/azure/devops/pipelines/process/phases?view=azure-devops&tabs=yaml https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/agents?view=azure-devops Jobs: também é possível criar agentless jobs, que rodam no servidor e executam apenas alguns tipos de tasks que não requerem computação, geralmente usado para manual intervention tasks (em release pipelines)
  7. https://github.com/microsoft/azure-pipelines-tasks
  8. https://www.reddit.com/r/azuredevops/comments/bqdgzm/no_yaml_release_pipeline/ https://devblogs.microsoft.com/devops/whats-new-with-azure-pipelines/
  9. https://docs.microsoft.com/en-us/azure/devops/pipelines/test/review-continuous-test-results-after-build?view=azure-devops
  10. https://docs.microsoft.com/en-us/azure/devops/pipelines/release/approvals/index?view=azure-devops
  11. https://docs.microsoft.com/en-us/azure/devops/pipelines/release/approvals/index?view=azure-devops
  12. https://devblogs.microsoft.com/devops/azure-devops-roadmap-update-for-2019-q3/ https://docs.microsoft.com/en-us/azure/devops/release-notes/features-timeline