Crie seu primeiro pipeline

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Este é um guia passo a passo para usar o Azure Pipelines para criar um aplicativo de exemplo de um repositório Git. Este guia usa pipelines YAML configurados com o editor de pipeline YAML. Se você quiser usar pipelines clássicos, confira Definir seu pipeline Clássico. Para obter orientação sobre como usar o TFVC, consulte Criar repositórios do TFVC.

Pré-requisitos – Azure DevOps

Verifique se você tem o seguinte:

  • Uma conta do GitHub, na qual você pode criar um repositório. Crie um gratuitamente.

  • Uma organização do Azure DevOps. Crie um gratuitamente. Se sua equipe já tiver uma, verifique se você é um administrador do projeto do Azure DevOps que deseja usar.

  • Uma capacidade de executar pipelines em agentes hospedados pela Microsoft. Para usar agentes hospedados pela Microsoft, sua organização do Azure DevOps precisa ter acesso a trabalhos paralelos hospedados pela Microsoft. Você pode comprar um trabalho paralelo ou solicitar uma concessão gratuita.

Crie seu primeiro pipeline

Obter o código de exemplo em Java

Para começar, bifurque o repositório a seguir em sua conta do GitHub.

https://github.com/MicrosoftDocs/pipelines-java

Criar seu primeiro pipeline do Java

  1. Entre na organização do Azure DevOps e acesse seu projeto.

  2. Vá para Pipelines e selecione Novo pipeline ou Criar pipeline se estiver criando seu primeiro pipeline.

  3. Percorra as etapas do assistente selecionando primeiro o GitHub como o local do código-fonte.

  4. Você pode ser redirecionado para o GitHub para então entrar. Nesse caso, insira suas credenciais do GitHub.

  5. Quando a lista de repositórios for exibida, selecione o repositório.

  6. Você poderá ser redirecionado ao GitHub para instalar o aplicativo do Azure Pipelines. Se sim, selecione Aprovar e instalar.

  1. O Azure Pipelines analisará seu repositório e recomendará um modelo de pipeline Maven.

  2. Quando o novo pipeline for exibido, observe o YAML para ver o que ele faz. Ao final, selecione Salvar e executar.

  3. Será solicitado que você confirme um novo arquivo azure-pipelines.yml em seu repositório. Uma vez que a mensagem estiver satisfatória para você, selecione Salvar e executar novamente.

    Se você quiser inspecionar seu pipeline em ação, selecione o trabalho de compilação.

    Você acabou de criar e executar um pipeline que criamos automaticamente para você, pois seu código parecia ser uma boa correspondência para o modelo do Maven.

    Agora você tem um pipeline YAML funcional (azure-pipelines.yml) em seu repositório que está pronto para personalização!

  4. Quando estiver pronto para fazer as alterações no pipeline, selecione-o na página Pipelines e Edite o arquivo azure-pipelines.yml.

Saiba mais sobre como trabalhar com Java em seu pipeline.

Exibir e gerenciar seus pipelines

Você pode exibir e gerenciar seus pipelines escolhendo Pipelines no menu à esquerda para acessar a página de aterrissagem de pipelines.

Captura de tela da página de aterrissagem do Azure Pipelines.

Na página de aterrissagem de pipelines, você pode exibir pipelines e execuções de pipeline, criar e importar pipelines, gerenciar a segurança e fazer drill down nos detalhes do pipeline e da execução.

Escolha Recente para exibir pipelines executados recentemente (o modo de exibição padrão) ou escolha Todos para exibir todos os pipelines.

Captura de tela das opções para exibir execuções de pipeline na página de aterrissagem de pipelines.

Selecione um pipeline para gerenciar esse pipeline e exibir as execuções. Selecione o número de build da última execução para exibir os resultados desse build, selecione o nome do branch para exibir o branch para essa execução ou selecione o menu de contexto para executar o pipeline e executar outras ações de gerenciamento.

Captura de tela dos pipelines executados recentemente.

Selecione Execuções para exibir todas as execuções de pipeline. Opcionalmente, você pode filtrar as execuções exibidas.

Captura de tela das execuções de pipeline.

Selecione uma execução de pipeline para exibir informações sobre essa execução.

Você pode optar por Reter ou Excluir uma execução no menu de contexto. Para obter mais informações sobre retenção de execução, consulte Políticas de retenção de build e versão.

Captura de tela do menu de contexto de execução de pipeline.

Exibir detalhes do pipeline

A página de detalhes de um pipeline permite que você exiba e gerencie esse pipeline.

Captura de tela da página de detalhes do pipeline.

Escolha Editar para editar o pipeline. Para obter mais informações, confira o editor de pipeline do YAML. Você também pode editar seu pipeline modificando o arquivo azure-pipelines.yml diretamente no repositório que hospeda o pipeline.

Exibir detalhes da execução do pipeline

No resumo da execução do pipeline, você pode exibir o status da sua execução tanto durante a execução quanto quando ela estiver concluída.

Captura de tela do resumo da execução de pipeline.

No painel de resumo, você pode exibir detalhes do trabalho e do estágio, baixar artefatos e navegar até confirmações vinculadas, resultados de teste e itens de trabalho.

Trabalhos e fases

O painel de trabalhos exibe uma visão geral do status de suas fases e trabalhos. Esse painel pode ter várias guias dependendo de o pipeline ter fases e trabalhos ou apenas trabalhos. Neste exemplo, o pipeline tem dois estágios chamados Build e Implantar. Você pode detalhar as etapas do pipeline escolhendo o trabalho no painel Fases ou Trabalhos.

Captura de tela dos trabalhos e estágios do pipeline.

Escolha um trabalho para ver as etapas desse trabalho.

Captura de tela das tarefas de pipeline.

Na exibição de etapas, você pode examinar o status e os detalhes de cada etapa. Em Mais ações, você pode alternar carimbos de data/hora ou exibir um log bruto de todas as etapas no pipeline.

Captura de tela do menu de conteúdo das tarefas de pipeline.

Cancelar e executar novamente um pipeline

Se o pipeline estiver em execução, você poderá cancelá-lo escolhendo Cancelar. Se a execução tiver sido concluída, você poderá executar novamente o pipeline escolhendo Executar novamente.

Captura de tela do cancelamento de uma execução de pipeline.

Menu Mais ações da execução de pipeline

No menu Mais ações, você pode baixar logs, adicionar marcas, editar o pipeline, excluir a execução e configurar retenção na execução.

Captura de tela do menu Mais ações da página Resumo da execução de pipeline.

Observação

Não é possível excluir uma execução se ela for mantida. Se você não vir Excluir, escolha Interromper a execução de retenção e exclua a execução. Se você vir Excluir e Exibir versões de retenção , uma ou mais políticas de retenção configuradas ainda serão aplicadas à sua execução. Escolha Exibir versões de retenção , exclua as políticas (somente as políticas da execução selecionada serão removidas) e exclua a execução.

Adicionar um selo de status ao repositório

Muitos desenvolvedores gostam de mostrar que estão mantendo a qualidade do código alta exibindo uma notificação de status em seu repositório.

O selo de status mostra o pipeline do Azure bem-sucedido

Para copiar o selo de status para a área de transferência:

  1. No Azure Pipelines, acesse a página Pipelines para exibir a lista de pipelines. Selecione o pipeline criado na seção anterior.

  2. Selecione e, em seguida, Selo de status.

  3. Selecione Selo de status.

  4. Copie o Markdown de exemplo da seção Markdown de exemplo.

Agora, com o selo Markdown na área de transferência, execute as seguintes etapas no GitHub:

  1. Acesse a lista de arquivos e selecione Readme.md. Selecione o ícone de lápis para editar.

  2. Cole o selo de status Markdown no início do arquivo.

  3. Confirme a alteração no branch main.

  4. Observe que o selo status aparece na descrição do repositório.

Para configurar o acesso anônimo a selos para projetos privados:

  1. Navegue até Configurações do projeto no canto inferior esquerdo da página

  2. Abra a guia Configurações em Pipelines

  3. Alterne o controle deslizante Desabilitar acesso anônimo a selos em Geral

Observação

Mesmo em um projeto privado, o acesso anônimo ao selo é habilitado por padrão. Com o acesso anônimo ao selo habilitado, os usuários de fora da sua organização podem consultar informações como nomes de projeto, nomes de branch, nomes de trabalho e criar status por meio da API status do selo.

Como você acabou de alterar o arquivo Readme.md nesse repositório, o Azure Pipelines compila automaticamente seu código, de acordo com a configuração no arquivo azure-pipelines.yml na raiz do repositório. No Azure Pipelines, observe que uma nova execução é exibida. Sempre que você fizer uma edição, o Azure Pipelines iniciará uma nova execução.

Mostraremos como usar o editor clássico no Azure DevOps Server 2019 para criar um build e uma versão que imprime "Olá, mundo".

Pré-requisitos

Inicializar o repositório

Se você já tiver um repositório em seu projeto, pule para a próxima etapa: Ignorar para adicionar um script ao repositório

  1. Acesse Azure Repos. (O hub de Códigos na navegação anterior)

    Arquivos de repositórios

  2. Se o projeto estiver vazio, você será saudado com uma tela para ajudá-lo a adicionar código ao repositório. Escolha a opção inferior para inicializar seu repositório com um arquivo readme:

    Inicializar o Repositório

Adicionar um script ao repositório

Crie um script do PowerShell que imprime Hello world.

  1. Acesse Azure Repos.

  2. Adicione um arquivo.

    Na guia Arquivos, no nó do repositório, selecione a opção Novo Arquivo

  3. Na caixa de diálogo, nomeie o novo arquivo e crie-o.

    HelloWorld.ps1
    
  4. Copie e cole este script.

    Write-Host "Hello world"
    
  5. Confirme (salve) o arquivo.

Neste tutorial, nosso foco está na CI/CD, portanto, estamos mantendo a parte do código simples. Estamos trabalhando em um repositório Git do Azure Repos diretamente no navegador da Web.

Quando estiver pronto para começar a criar e implantar um aplicativo real, você poderá usar uma ampla gama de clientes e serviços de controle de versão com builds de CI do Azure Pipelines. Saiba mais.

Criar um pipeline de build

Crie um pipeline de build que imprime "Olá, mundo".

  1. Selecione Azure Pipelines, o que deve direcioná-lo automaticamente para a página Builds.

    Ir para a guia Builds

  2. Criar um pipeline.

    Selecione o botão da guia Compilar

    Para novos usuários do Azure DevOps, isso levará você automaticamente à experiência de criação do pipeline YAML. Para acessar o editor clássico e concluir este guia, você deve desativar a versão prévia do recurso para a Nova experiência de criação de pipeline YAML:

    Clique nas configurações no canto superior direito da tela e clique em versão prévia do recurso

    Clique em alternar para desativar a versão prévia do recurso do YAML

  3. Verifique se a origem, o projeto, o repositório e o branch padrão correspondem ao local onde você criou o script.

  4. Começar um Trabalho vazio.

  5. No lado esquerdo, selecione Pipeline e especifique o Nome que você deseja usar. Para o pool de agentes, selecione VS2017 hospedado.

  6. No lado esquerdo, selecione o sinal de adição ( + ) para adicionar uma tarefa ao Trabalho 1. No lado direito, selecione a categoria Utilitário, selecione a tarefa do PowerShell na lista e escolha Adicionar.

    Adicionar a tarefa de build ao trabalho

  7. No lado esquerdo, selecione sua nova tarefa de script do PowerShell.

  8. Para o argumento Caminho do Script, selecione o botão para procurar o repositório e selecione o script que você criou.

    Selecionar o script

  9. Selecione Salvar e colocar na fila selecione Salvar.

Um pipeline de build é a entidade por meio da qual você define seu pipeline de build automatizado. No pipeline de build, você compõe um conjunto de tarefas, cada uma executando uma etapa em seu build. O catálogo de tarefas fornece um conjunto avançado de tarefas para você começar. Você também pode adicionar scripts do PowerShell ou de shell ao pipeline de build.

Publicar um artefato do build

Um build típico produz um artefato que pode ser implantado em vários estágios em uma versão. Aqui, para demonstrar a funcionalidade de maneira simples, simplesmente publicaremos o script como o artefato.

  1. Na guia Tarefas, selecione o sinal de adição ( + ) para adicionar uma tarefa ao Trabalho 1.

  2. Selecione a categoria Utilitário, a tarefa Publicar Artefatos de Build e, em seguida, Adicionar.

    Adicionar a tarefa Publicar artefato

    Caminho para publicar: selecione o botão para navegar e selecionar o script criado.

    Nome do artefato: insira drop.

    Local de publicação do artefato: selecione Azure Artifacts/TFS.

Artefatos são os arquivos que você deseja que seu build produza. Artefatos podem ser quase tudo o que sua equipe precisa para testar ou implantar seu aplicativo. Por exemplo, você tem arquivos executáveis .DLL e .EXE e arquivo de símbolos .PDB de um aplicativo C# ou C++ .NET do Windows.

Para permitir que você produza artefatos, fornecemos ferramentas como a cópia com padrões correspondentes e um diretório de preparo no qual você pode coletar seus artefatos antes de publicá-los. Confira Artefatos no Azure Pipelines.

Habilitar a CI (integração contínua)

  1. Selecione a guia Gatilhos.

  2. Habilite a Integração contínua.

Um gatilho de integração contínua em um pipeline de build indica que o sistema deve colocar automaticamente em fila um novo build sempre que uma alteração de código for confirmada. Você pode tornar o gatilho mais geral ou específico e também agendar seu build (por exemplo, à noite). Confira Gatilhos de build.

Salvar e colocar o build fila

Salve e coloque um build na fila manualmente e teste o pipeline de build.

  1. Selecione Salvar e colocar na fila e, em seguida, selecione Salvar e colocar na fila.

  2. Na caixa de diálogo, selecione Salvar e colocar na fila mais uma vez.

    Isso enfileira um novo build no agente hospedado pela Microsoft.

  3. Você verá um link para o novo build na parte superior da página.

    Console de build

    Escolha o link para ver o novo build em ação. Assim que o agente for alocado, você começará a ver os logs dinâmicos do build. Observe que o script do PowerShell é executado como parte do build e que "Olá, mundo" é impresso no console.

    Inspeção no console de build

  4. Acesse o resumo do build. Na guia Artefatos do build, observe que o script é publicado como um artefato.

    Abrir o console de build para ver o artefato

Adicionar algumas variáveis e confirmar uma alteração no script

Passaremos algumas variáveis de build para o script para tornar nosso pipeline um pouco mais interessante. Em seguida, confirmaremos uma alteração em um script e inspecionaremos o pipeline de CI automaticamente para validar a alteração.

  1. Edite o pipeline de build.

  2. Na guia Tarefas, selecione a tarefa de script do PowerShell.

  3. Adicione esses argumentos.

Abrir a tarefa do PowerShell no console de build

Argumentos

-greeter "$(Build.RequestedFor)" -trigger "$(Build.Reason)"

Por fim, salve o pipeline de build.

Em seguida, você adicionará os argumentos ao script.

  1. Acesse seus Arquivos no Azure Repos (o hub de Códigos na navegação anterior e TFS).

  2. Selecione o arquivo HelloWorld.ps1 e Edite-o.

  3. Altere o script da seguinte maneira:

    Param(
    [string]$greeter,
    [string]$trigger
    )
    Write-Host "Hello world" from $greeter
    Write-Host Trigger: $trigger
    
  4. Confirme (salve) o script.

Agora você pode ver os resultados de suas alterações. Acesse Azure Pipelines e selecione Na fila. Observe na seção Na fila ou em execução que um build é disparado automaticamente pela alteração confirmada.

  1. Selecione o novo build que foi criado e exiba seu log.

  2. Observe que a pessoa que alterou o código tem seu nome impresso na mensagem de saudação. Você também verá impresso que esse era um build de CI.

Criar um log de scripts de resumo do PowerShell

Acabamos de introduzir o conceito de variáveis de build nestas etapas. Imprimimos o valor de uma variável que é automaticamente predefinida e inicializada pelo sistema. Você também pode definir variáveis personalizadas e usá-las em argumentos para suas tarefas ou como variáveis de ambiente em seus scripts. Para saber mais sobre variáveis, confira Criar variáveis.

Você tem um pipeline de build. E agora?

Você criou um pipeline de build que compila e valida automaticamente qualquer código que seja verificado pela sua equipe. Neste ponto, você pode continuar para a próxima seção para saber mais sobre pipelines de lançamento. Ou, se preferir, você pode pular para criar um pipeline de build para seu aplicativo.

Criar um pipeline de lançamento

Defina o processo para executar o script em dois estágios.

  1. Acesse a guia Pipelines e selecione Versões.

  2. Selecione a ação para criar um Novo pipeline. Se um pipeline de lançamento já tiver sido criado, selecione o sinal de adição ( + ) e, em seguida, selecione Criar um pipeline de lançamento.

  3. Selecione a ação para começar com um Trabalho vazio.

  4. Nomeie a fase garantia de qualidade.

  5. No painel Artefatos, selecione + Adicionar e especifique uma Origem (pipeline de build). Selecione Adicionar.

  6. Selecione o Raio para disparar a implantação contínua e habilite o Gatilho de implantação contínua à direita.

    Selecione um raio para disparar a implantação contínua

  7. Selecione a guia Tarefas e a fase garantia de qualidade.

  8. Selecione o sinal de adição ( + ) do trabalho para adicionar uma tarefa a ele.

  9. Na caixa de diálogo Adicionar tarefas, selecione Utilitário, localize a tarefa do PowerShell e, em seguida, selecione o botão Adicionar.

  10. No lado esquerdo, selecione sua nova tarefa de script do PowerShell.

  11. Para o argumento Caminho do Script, selecione o botão para procurar os artefatos e selecione o script que você criou.

  12. Adicione estes Argumentos:

    -greeter "$(Release.RequestedFor)" -trigger "$(Build.DefinitionName)"
    
  13. Na guia Pipeline, selecione a fase garantia de qualidade e Clonar.

    Clonar o ambiente de lançamento na garantia de qualidade

  14. Renomeie a fase clonado como Produção.

  15. Renomeie o pipeline de lançamento Olá, Mundo.

    Renomeie o pipeline de lançamento como Olá, Mundo

  16. Salve o pipeline de lançamento.

Um pipeline de lançamento é uma coleção de estágios nos quais os artefatos de build do aplicativo são implantados. Ele também define o pipeline de implantação real para cada estágio e como os artefatos são promovidos de um estágio para outro.

Além disso, observe que usamos algumas variáveis em nossos argumentos de script. Nesse caso, usamos variáveis de versão em vez das variáveis de build que usamos para o pipeline de build.

Implantar uma versão

Execute o script em cada estágio.

  1. Crie uma versão.

    Criar versão – DevOps 2019 e 2020

    Quando Criar nova versão for exibido, selecione Criar.

  2. Abra a versão que você criou.

    versão criada – DevOps 2019 e 2020

  3. Exiba os logs para obter dados em tempo real sobre a versão.

    logs de versão – DevOps 2019 e 2020

Você pode acompanhar o progresso de cada versão para ver se ela foi implantada em todos os estágios. Você pode acompanhar os commits que fazem parte de cada versão, os itens de trabalho associados e os resultados de todas as execuções de teste que você adicionou ao pipeline de lançamento.

Alterar o código e inspecionar sua implantação automática na produção

Faremos mais uma alteração no script. Desta vez, ele será compilado automaticamente e, em seguida, será implantado até o estágio de produção.

  1. Acesse o hub de Códigos, a guia Arquivos, edite o arquivo HelloWorld.ps1 e altere-o da seguinte maneira:

    Param(
    [string]$greeter,
    [string]$trigger
    )
    Write-Host "Hello world" from $greeter
    Write-Host Trigger: $trigger
    Write-Host "Now that you've got CI/CD, you can automatically deploy your app every time your team checks in code."
    
  2. Confirme (salve) o script.

  3. Selecione a guia Builds para ver o build na fila e executado.

  4. Depois que o build for concluído, selecione a guia Versões, abra a nova versão e acesse Logs.

Seu novo código é implantado automaticamente na fase de garantia de qualidade e, em seguida, na fase de Produção.

Log final da etapa de script de versão – DevOps 2019 e 2020

Em muitos casos, você pode desejar editar o pipeline de lançamento para que a implantação de produção ocorra somente depois que alguns testes e aprovações estiverem em vigor. Consulte Visão geral de aprovações e portas.

Próximas etapas

Você acabou de aprender a criar seu primeiro pipeline no Azure. Saiba mais sobre como configurar pipelines na sua linguagem preferida:

Ou você pode prosseguir para personalizar o pipeline que você acabou de criar.

Para executar o pipeline em um contêiner, confira Trabalhos de contêiner.

Para obter detalhes sobre como criar repositórios do GitHub, consulte Compilar repositórios do GitHub.

Para saber como publicar seus Artefatos de Pipeline, confira Publicar Artefatos de Pipeline.

Para saber o que mais você pode fazer em pipelines do YAML, confira referência de esquema do YAML.

Limpeza

Se você criou pipelines de teste, eles podem ser facilmente excluídos quando você terminar de usá-los.

Para excluir um pipeline, acesse a página de resumo desse pipeline e escolha Excluir no menu ... no canto superior direito da página. Digite o nome do pipeline para confirmar e escolha Excluir.

Excluir pipeline

Você aprendeu os conceitos básicos de criação e execução de um pipeline. Agora você está pronto para configurar seu pipeline de build para a linguagem de programação que está usando. Crie um pipeline de build e, desta vez, use um dos modelos a seguir.

Linguagem Modelo a ser usado
.NET ASP.NET
.NET Core ASP.NET Core
C++ Área de trabalho do .NET
Go Go
Java Gradle
JavaScript Node.js
Xcode Xcode

Perguntas frequentes

Onde posso encontrar artigos sobre DevOps e CI/CD?

O que é a integração contínua?

O que é a entrega contínua?

O que é DevOps?

Qual sistema de controle de versão posso usar?

Quando estiver pronto para começar a usar CI/CD para seu aplicativo, você poderá usar o sistema de controle de versão de sua escolha:

Como replicar um pipeline?

Se o pipeline tiver um padrão que você deseja replicar em outros pipelines, clone-o, exporte-o ou salve-o como um modelo.

all-definitions-build-action-menu-replicate-actions

Depois de clonar um pipeline, você pode fazer alterações e salvá-lo.

Depois de exportar um pipeline, você pode importá-lo da guia Todos os pipelines.

Depois de criar um modelo, os membros da equipe podem usá-lo para seguir o padrão em novos pipelines.

Dica

Se você estiver usando o Novo editor de build, seus modelos personalizados serão mostrados na parte inferior da lista.

Como eu trabalho com rascunhos?

Se você estiver editando um pipeline de build e quiser testar algumas alterações que ainda não estão prontas para produção, salve-o como um rascunho.

save-as-draft

Você pode editar e testar seu rascunho conforme necessário.

Editar rascunho – DevOps 2019 e 2020

Quando estiver pronto, você poderá publicar o rascunho para mesclar as alterações no pipeline de build.

Publicar rascunho – DevOps 2019 e 2020

Ou, se você decidir descartar o rascunho, poderá excluí-lo da guia Todos os pipelines mostrada acima.

Como posso excluir um pipeline?

Para excluir um pipeline, acesse a página de resumo desse pipeline e escolha Excluir no menu ... no canto superior direito da página. Digite o nome do pipeline para confirmar e escolha Excluir.

O que mais posso fazer quando colocar um build em fila?

Você pode colocar builds automaticamente ou manualmente na fila.

Ao colocar manualmente um build na fila, você pode, para uma única execução do build:

Você pode colocar builds automaticamente ou manualmente na fila.

Ao colocar manualmente um build na fila, você pode, para uma única execução do build:

Onde posso saber mais sobre as configurações de pipeline?

Para saber mais sobre as configurações do pipeline, confira:

Como criar um pipeline de build programaticamente?

Referência da API REST: criar um pipeline de build

Observação

Você também pode gerenciar builds e pipelines de build na linha de comando ou scripts usando a CLI do Azure Pipelines.