Criar o pipeline de implementação

Concluído

Nesta unidade, você projeta um pipeline de CI/CD para dar suporte às necessidades do seu projeto. Você deseja que o site do Vídeo da Contoso seja publicado no Serviço Kubernetes do Azure (AKS) após cada envio bem-sucedido para a ramificação principal marcada para lançamento em produção. O design de marcação facilita a verificação da versão de cada implantação que vai para a produção.

Você também deseja implantar o site em um ambiente de preparação para teste após cada envio para a ramificação principal, independentemente de o envio estar marcado para liberação para produção. Você pode usar tags para rotear imagens de contêiner diferentes ao enviá-las por push para o Registro de Contêiner do Azure.

Criar o pipeline

Para projetar o pipeline, considere as tarefas e os gatilhos.

Acionadores

Seu pipeline precisa ser acionado em dois eventos diferentes:

  • Um push marcado para o ramo principal.
  • Um push não marcado para a ramificação principal.

Você divide os dois eventos em dois gatilhos separados, porque as ações para um push marcado são diferentes das ações para um push não marcado. Um push marcado é implantado na produção, enquanto um push não marcado é implantado no ambiente de preparação. O diagrama a seguir mostra os dois gatilhos para o pipeline:

Diagram that shows two types of pipeline triggers.

Depois de definir os gatilhos, planeje o fluxo do pipeline em si.

Etapa 1: clonar o repositório

As primeiras etapas são as etapas de compilação, onde você prepara uma configuração e constrói a imagem antes de enviá-la para o cluster AKS. Nas etapas de compilação, você configura todas as informações necessárias para a etapa de implantação. Neste caso, a primeira etapa de compilação após receber o sinal de gatilho é a mesma para ambos os gatilhos, para clonar o repositório.

Diagram that shows the procession from triggers to the first build step in a pipeline.

Etapa 2: Construir a imagem

O próximo passo lógico é construir uma imagem. Para ser executado no ambiente AKS, o site deve ser uma imagem do Docker. Você precisa criar a nova imagem usando o Dockerfile que está na raiz do repositório. Aqui é onde você leva em conta os diferentes gatilhos.

Para o pipeline de confirmação marcado, crie a imagem e, em seguida, marque-a usando a mesma tag que o push. Por exemplo, se a confirmação estiver marcada com v1.0.0, você criará a imagem como contoso/website:v1.0.0. Se você tiver uma confirmação não marcada na ramificação principal, criará a imagem com a latest tag .

Diagram that shows the procession from triggers to the first and second build steps in a pipeline.

Etapa 3: Enviar a imagem para um registro de contêiner

Depois que a imagem é criada, você a envia por push para o registro de contêiner da Contoso e configura o cluster AKS para acessar o registro. O cluster baixa as imagens do Registro de Contêiner e as executa.

Neste ponto, o pipeline converge num único passo. Sua instância do Registro de contêiner não tem divisões internas, portanto, você envia ambas as imagens para o mesmo lugar.

Diagram that shows the procession from triggers to the first, second, and third build steps in the pipeline.

Etapa 4: Implantar o aplicativo

A etapa final de implantação implanta o site no local correto. Se uma confirmação marcada acionar o pipeline, você implantará o site no production namespace do cluster AKS. Se o pipeline foi acionado com uma confirmação não marcada, você envia por push para o staging namespace do mesmo cluster.

Diagram that shows the procession from triggers, through three build steps, to the deploy steps in a pipeline.

Agora que você projetou o pipeline de fluxo de trabalho, prossiga para as seguintes unidades para configurar seu ambiente de projeto e criar Ações do GitHub para clonar, criar, enviar por push e implantar no cluster AKS.