Principais conceitos para novos utilizadores do Azure Pipelines
Serviços de DevOps do Azure
Saiba mais sobre os principais conceitos e componentes que compõem o Azure Pipelines. Compreender os termos básicos e as partes de um pipeline pode ajudá-lo a criar, testar e implantar seu código de forma mais eficaz.
Visão geral dos conceitos-chave
- Um gatilho diz a um pipeline para ser executado.
- Um pipeline é composto por uma ou mais etapas. Um pipeline pode ser implantado em um ou mais ambientes.
- Um estágio é uma forma de organizar trabalhos em um pipeline e cada estágio 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 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 compilação.
- Um artefato é uma coleção de arquivos ou pacotes publicados por uma execução.
Termos do Azure Pipelines
Agente
Quando sua compilação ou implantação é executada, o sistema inicia um ou mais trabalhos. Um agente é uma infraestrutura de computação com software de agente instalado que executa um trabalho de cada 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, consulte Agentes de pipeline do Azure.
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 realizada para controlar implantações em ambientes de produção. Quando as verificações são configuradas em um ambiente, uma execução de pipeline pausa até que todas as verificações sejam concluídas com êxito.
Artefacto
Um artefato é uma coleção de arquivos ou pacotes publicados por uma execução. Os artefatos são disponibilizados para tarefas subsequentes, como distribuição ou implantação. Para obter mais informações, consulte Artefatos no Azure Pipelines.
Entrega contínua
A entrega contínua (CD) é um processo pelo qual o código é criado, testado e implantado em um ou mais estágios de teste e produção. A implantação e os testes em vários estágios ajudam a impulsionar a qualidade. Os sistemas de integração contínua produzem artefatos implantáveis, que incluem infraestrutura e aplicativos. Os pipelines de liberação automatizados consomem esses artefatos para liberar novas versões e correções para sistemas existentes. Os sistemas de monitoramento e alerta são executados constantemente para aumentar a visibilidade de todo o processo de CD. Este processo garante que os erros são detetados com frequência e cedo.
Integração contínua
A integração contínua (CI) é a prática usada pelas equipes de desenvolvimento para simplificar o teste e a construção de código. O CI ajuda a detetar bugs ou problemas no início do ciclo de desenvolvimento, o que os torna mais fáceis e rápidos de corrigir. Testes e compilações automatizados são executados como parte do processo de CI. O processo pode ser executado em um cronograma definido, sempre que o código é enviado por push, ou ambos. Itens conhecidos como artefatos são produzidos a partir de sistemas de CI. Eles são usados pelos pipelines de liberação de entrega contínua para impulsionar implantações automáticas.
Implementação
Uma implantação de pipeline clássica é a ação de executar as tarefas por um estágio. A implantação pode incluir a execução de testes automatizados, a implantação de artefatos de compilação e quaisquer outras ações especificadas para esse 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 sequencialmente em um ambiente. Você pode usar estratégias como executar uma vez, rolar e canário para trabalhos de implantação.
Grupo de implantação
Um grupo de implantação é um conjunto de máquinas de destino de implantação que têm agentes instalados. Um grupo de implantação é apenas outro agrupamento de agentes, 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 o provisionamento de agentes para grupos de implantação.
Environment
Um ambiente é uma coleção de recursos onde 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 compilação é concluída e os testes são executados.
Tarefa
Um estágio 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 juntas no mesmo agente. Os trabalhos são mais úteis quando você deseja executar uma série de etapas em ambientes diferentes. Por exemplo, talvez você queira criar duas configurações - x86 e x64. Neste caso, você tem uma etapa e dois empregos. Um trabalho seria para x86 e o outro trabalho 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 suporta trabalhos sem agente.
Pipeline
Um pipeline define o processo contínuo de integração e implantação para seu aplicativo. É composto por uma ou mais etapas. Ele pode ser considerado como um fluxo de trabalho que define como suas etapas de teste, compilação e implantação são executadas.
Para pipelines clássicos, um pipeline também pode ser referido como uma definição.
Versão
Para pipelines clássicos, uma versão é um conjunto versionado de artefatos especificados em um pipeline. A versão inclui um instantâneo de todas as informações necessárias para executar todas as tarefas e ações no pipeline de versão, como estágios, 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, os estágios de construção e liberação estão em um pipeline de vários estágios.
Executar
Uma execução representa uma execução de um pipeline. Ele coleta os logs associados à execução das etapas e os 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 trabalhos. Saiba mais sobre a sequência de execução do pipeline.
Para pipelines clássicos, uma compilação representa uma execução de um pipeline.
Script
Um script executa código como uma etapa em seu pipeline usando linha de comando, PowerShell ou Bash. Você pode escrever scripts entre plataformas para macOS, Linux e Windows. Ao contrário de uma tarefa, um script é um código personalizado específico para o seu pipeline.
Fase
Um estágio é um limite lógico no pipeline. Ele pode ser usado para marcar a separação de preocupações (por exemplo, Build, QA e produção). Cada etapa contém um ou mais trabalhos. Quando você define vários estágios em um pipeline, por padrão, eles são executados um após o outro. Você pode especificar as condições para quando um estágio é executado. Quando estiver pensando se precisa de um palco, pergunte-se:
- Grupos separados gerenciam partes diferentes desse pipeline? Por exemplo, você pode ter um gerente de teste que gerencia os trabalhos relacionados ao teste e um gerente diferente que gerencia os trabalhos relacionados à implantação da produção. Neste caso, faz sentido ter etapas separadas para testes e produção.
- Existe um conjunto de aprovações que estão ligadas a um trabalho específico ou conjunto de trabalhos? Em caso afirmativo, você pode usar estágios para dividir seus trabalhos em grupos lógicos que exigem aprovações.
- Há trabalhos que precisam ser executados por muito tempo? Se um trabalho em seu pipeline tem um longo tempo de execução, faz sentido colocar esse trabalho em seu próprio estágio.
Passo
Uma etapa é o menor bloco de construção de um gasoduto. Por exemplo, um pipeline pode consistir em etapas de compilação e teste. Uma etapa pode ser um script ou uma tarefa. Uma tarefa é simplesmente um script pré-criado oferecido como uma conveniência para você. Para exibir as tarefas disponíveis, consulte a referência Compilar e liberar tarefas . Para obter informações sobre como criar tarefas personalizadas, consulte Criar uma tarefa personalizada.
Task
Uma tarefa é o bloco de construção para definir a automação em um pipeline. Uma tarefa é um script ou procedimento empacotado que foi abstraído com um conjunto de entradas.
Acionador
Um gatilho é algo configurado para dizer ao pipeline quando executar. Você pode configurar um pipeline para ser executado em um push para um repositório, em horários agendados ou após a conclusão de outra compilação. Todas essas ações são conhecidas como gatilhos. Para obter mais informações, consulte Gatilhos de compilação e Gatilhos de liberação.
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. Os grupos de variáveis armazenam valores e segredos que você pode querer 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 conceitos-chave.