Principais conceitos para novos usuários do Azure Pipelines

Azure DevOps Services

Saiba mais sobre os principais conceitos e componentes que compõem o Azure Pipelines. A compreensão dos termos básicos e das partes de um pipeline pode ajudar você a criar, testar e implantar seu código com mais eficiência.

Visão geral dos conceitos principais

gráfico dos conceitos principais

  • Um gatilho diz a um pipeline para ser executado.
  • Um pipeline é composto por uma ou mais fases. Ele pode ser implantado em um ou mais ambientes.
  • Uma fase é uma forma de organizar trabalhos em um pipeline, sendo que cada fase pode ter um ou mais trabalhos.
  • Cada trabalho é executado em um agente. Um trabalho também pode ser sem agente.
  • Cada agente executa um trabalho que contém uma ou mais etapas.
  • Uma etapa pode ser uma tarefa ou um script e é o menor bloco de construção de um pipeline.
  • Uma tarefa é um script pré-empacotado que executa uma ação, como invocar uma API REST ou publicar um artefato de build.
  • Um artefato é uma coleção de arquivos ou pacotes publicados por uma execução.

Termos do Azure Pipelines

Agente

Quando a implantação ou o build for executado, o sistema iniciará um ou mais trabalhos. Um agente é a infraestrutura de computação com software de agente instalado que executa um trabalho por vez. Por exemplo, seu trabalho pode ser executado em um agente do Ubuntu hospedado pela Microsoft.

Para obter informações mais detalhadas sobre os diferentes tipos de agentes e como usá-los, confira Agentes do Azure Pipelines.

Aprovações

As Aprovações definem um conjunto de validações necessárias antes da execução de uma implantação. A aprovação manual é uma verificação comum executada para controlar implantações em ambientes de produção. Quando as verificações são configuradas em um ambiente, uma execução de pipeline é pausada até que todas as verificações sejam concluídas com sucesso.

Artefato

Um artefato é uma coleção de arquivos ou pacotes publicados por uma execução. Artefatos são disponibilizados para as tarefas subsequentes, como distribuição ou implantação. Para obter mais informações, confira Artefatos no Azure Pipelines.

Entrega contínua

A CD (entrega contínua) é um processo pelo qual o código é criado, testado e implantado em uma ou mais fases de teste e produção. Implantar e testar em vários estágios ajuda a impulsionar a qualidade. Os sistemas de integração contínua produzem artefatos implantáveis, que incluem infraestrutura e aplicativos. Os pipelines de lançamento automatizados consomem esses artefatos para lançar novas versões e correções para os sistemas existentes. Os sistemas de monitoramento e alertas são executados constantemente para impulsionar a visibilidade de todo o processo de CD. Esse processo garante que os erros sejam encontrados com frequência e no logo no início.

Integração contínua

A CI (integração contínua) é a prática usada pelas equipes de desenvolvimento para simplificar o teste e a compilação do código. A CI ajuda a encontrar bugs ou problemas no início do ciclo de desenvolvimento, tornando-os mais fáceis e rápidos de corrigir. Testes e builds automatizados são executados como parte do processo de CI. O processo pode ser executado de acordo com um agendamento definido ou sempre que o código for enviado por push. Itens conhecidos como artefatos são produzidos em sistemas de CI. Eles são usados pelos pipelines de lançamento de entrega contínua para conduzir implantações automáticas.

Implantação

Uma implantação de pipeline clássica consiste na execução das tarefas para um dos estágios. A implantação pode incluir a execução de testes automatizados, a implantação de artefatos de build e quaisquer outras ações especificadas para o estágio.

Para pipelines YAML, uma implantação refere-se a um trabalho de implantação. Um trabalho de implantação é uma coleção de etapas que são executadas em sequência em um ambiente. Você pode usar estratégias como executar uma vez, sem interrupção e canário para trabalhos de implantação.

Grupo de implantação

Um grupo de implantação é um conjunto de computadores de destino de implantação que têm agentes instalados. Um grupo de implantação é apenas outro agrupamento de agentes, assim como um pool de agentes. Você pode definir os destinos de implantação em um pipeline para um trabalho usando um grupo de implantação. Saiba mais sobre os agentes de provisionamento para grupos de implantação.

Ambiente

Um ambiente é uma coleção de recursos na qual você implanta seu aplicativo. Um ambiente pode conter uma ou mais máquinas virtuais, contêineres, aplicativos Web ou qualquer serviço. Os pipelines são implantados em um ou mais ambientes depois que uma build é concluída e os testes são executados.

Trabalho

Cada fase contém um ou mais trabalhos. Cada trabalho é executado em um agente. Um trabalho representa um limite de execução de um conjunto de etapas. Todas as etapas são executadas em conjunto no mesmo agente. Os trabalhos são mais úteis quando você deseja executar uma série de etapas em ambientes diferentes. Por exemplo, você pode criar duas configurações, x86 e x64. Nesse caso, você tem um build e dois trabalhos. Um trabalho seria para x86 e o outro seria para x64.

Os trabalhos sem agente são executados no Azure DevOps e no Azure DevOps Server sem usar um agente. Um número limitado de tarefas é compatível com trabalhos sem agente.

Pipeline

Um pipeline define o processo de implantação e integração contínuas para seu aplicativo. Um pipeline é composto por uma ou mais fases. Ele pode ser considerado um fluxo de trabalho que define como as etapas de build, teste e implantação são executadas.

Para pipelines clássicos, um pipeline também pode ser chamado de definição.

Versão

Para pipelines clássicos, uma versão é um conjunto de artefatos com versão especificado em um pipeline. A versão inclui uma instantâneo de todas as informações necessárias para executar todas as tarefas e ações no pipeline de lançamento, como fases, tarefas, políticas como gatilhos e aprovadores e opções de implantação. Você pode criar uma versão manualmente, com um gatilho de implantação ou com a API REST.

Para pipelines YAML, as fases de build e lançamento estão em um pipeline de várias fases.

Executar

Um build representa uma execução de um pipeline. Ele coleta os logs associados à execução das etapas e dos resultados da execução de testes. Durante uma execução, o Azure Pipelines primeiro processará o pipeline e, em seguida, enviará a execução para um ou mais agentes. Cada agente executa os trabalhos. Saiba mais sobre a sequência de execução de pipeline.

Para pipelines clássicos, um build representa uma execução de um pipeline.

Script

Um script executa o código como uma etapa em seu pipeline usando a linha de comando, o PowerShell ou o Bash. Você pode escrever scripts multiplataforma para macOS, Linux e Windows. Ao contrário de uma tarefa, um script é um código personalizado específico do pipeline.

Estágio

Uma fase é um limite lógico no pipeline. Ela pode ser usada para marcar a separação de preocupações (por exemplo, Build, QA e produção). Cada fase contém um ou mais trabalhos. Quando você define várias fases em um pipeline, por padrão, elas são executadas uma após a outra. Você pode especificar as condições para quando uma fase é executada. Quando estiver pensando se precisa de uma fase, pergunte a si mesmo:

  • Grupos separados gerenciam partes diferentes desse pipeline? Por exemplo, você pode ter um gerenciador de testes que gerencia os trabalhos relacionados a testes e um gerenciador diferente que gerencia trabalhos relacionados à implantação em produção. Nesse caso, faz sentido ter fases separadas para teste e produção.
  • Há um conjunto de aprovações conectadas a um trabalho ou conjunto de trabalhos específico? Nesse caso, você pode usar fases para dividir seus trabalhos em grupos lógicos que exigem aprovações.
  • Há trabalhos que precisam ser executados por muito tempo? Se um trabalho no seu pipeline tem um longo tempo de execução, faz sentido colocar esse trabalho em um estágio próprio para ele.

Etapa

Uma etapa é o menor bloco de construção de um pipeline. Por exemplo, um pipeline de build pode consistir de tarefas de build e de teste. Uma etapa pode ser um script ou uma tarefa. Uma tarefa é simplesmente um script criado previamente oferecido para a sua conveniência. Para exibir as tarefas disponíveis, confira a referência Tarefas de build e lançamento. Para obter informações sobre como criar tarefas personalizadas, confira Criar uma tarefa personalizada.

Tarefa

Uma tarefa é o bloco de construção para definir a automação em um pipeline. Uma tarefa é um script ou um procedimento empacotado que foi abstraído com um conjunto de entradas.

Gatilho

Um gatilho é algo que está definido para informar ao pipeline o momento de executar. Você pode configurar um pipeline para ser executado após um push para um repositório em horários agendados ou após a conclusão de outro build. Todas essas ações são conhecidas como gatilhos. Para obter mais informações, confira gatilhos de build e gatilhos de lançamento.

Biblioteca

A Biblioteca inclui arquivos seguros e grupos de variáveis. Arquivos seguros são uma maneira de armazenar arquivos e compartilhá-los entre pipelines. Por exemplo, talvez você queira fazer referência ao mesmo arquivo para pipelines diferentes. Nesse caso, você pode salvar o arquivo na Biblioteca e usá-lo quando precisar dele. Os grupos de variáveis armazenam valores e segredos que talvez você queira que sejam passados para um pipeline YAML ou disponibilizados em vários pipelines.

Sobre os autores

  • Dave Jarvis contribuiu para o gráfico de visão geral dos principais conceitos.