Ampliar um pipeline para usar vários modelos
Neste laboratório, explore a importância de estender um pipeline para vários modelos e como fazê-lo usando o Azure DevOps. O laboratório aborda conceitos fundamentais e práticas recomendadas para criar um pipeline de várias fases, criar um modelo de variáveis, criar um modelo de trabalho e criar um modelo de fase.
Estes exercícios levam aproximadamente 20 minutos.
Antes de começar
Você precisará de uma assinatura do Azure, da organização do Azure DevOps e do aplicativo eShopOnWeb para acompanhar os laboratórios.
- Siga as etapas para validar seu ambiente de laboratório.
Instruções
Exercício 1: criar um pipeline YAML de vários estágios
Neste exercício, você criará um pipeline YAML de vários estágios no Azure DevOps.
Tarefa 1: criar um pipeline YAML principal de vários estágios
-
Navegue até o portal do Azure DevOps em
https://aex.dev.azure.com
e abra sua organização. -
Abra o projeto eShopOnWeb.
-
Acesse Pipelines > Pipelines.
-
Clique no botão Novo pipeline.
-
Selecione Git do Azure Repos (Yaml).
-
Selecione o repositório eShopOnWeb.
-
Selecione Pipeline de início.
-
Substitua o conteúdo do azure-pipelines.yml pelo seguinte código:
trigger: - main pool: vmImage: 'windows-latest' stages: - stage: Dev jobs: - job: Build steps: - script: echo Build - stage: Test jobs: - job: Test steps: - script: echo Test - stage: Production jobs: - job: Deploy steps: - script: echo Deploy
-
Selecione Salvar e executar. Escolha fazer commit diretamente na ramificação principal e selecione Salvar e executar novamente.
-
Você verá o pipeline em execução com os três estágios (Desenvolvimento, Teste e Produção) e os trabalhos correspondentes. Aguarde até que o pipeline seja concluído e volte para a página Pipelines.
-
Selecione … (Mais opções) no lado direito do pipeline que você acabou de criar e selecione Renomear/mover.
-
Renomeie o pipeline para eShopOnWeb-MultiStage-Main e selecione Salvar.
Tarefa 2: criar um modelo de variáveis
-
Vá para Repos > Arquivos.
-
Expanda a pasta .ado e clique em Novo arquivo.
-
Nomeie o arquivo como eshoponweb-variables.yml e clique em Criar.
-
Adicione o seguinte código ao arquivo:
variables: resource-group: 'YOUR-RESOURCE-GROUP-NAME' location: 'centralus' templateFile: 'infra/webapp.bicep' subscriptionid: 'YOUR-SUBSCRIPTION-ID' azureserviceconnection: 'YOUR-AZURE-SERVICE-CONNECTION-NAME' webappname: 'YOUR-WEB-APP-NAME'
-
Substitua os valores das variáveis pelos valores do seu ambiente:
- Substitua YOUR-RESOURCE-GROUP-NAME pelo nome do grupo de recursos que você deseja usar neste laboratório, por exemplo, rg-eshoponweb-secure.
- Defina o valor da variável location como o nome da região do Azure onde você deseja implantar seus recursos, por exemplo, centralus.
- Substitua YOUR-SUBSCRIPTION-ID por sua ID de assinatura do Azure.
- Substitua YOUR-AZURE-SERVICE-CONNECTION-NAME por azure subs
- Substitua YOUR-WEB-APP-NAME por um nome globalmente exclusivo do aplicativo Web a ser implantado, por exemplo, a cadeia de caracteres eshoponweb-lab-multi-123456 seguida por um número aleatório de seis dígitos.
-
Selecione Confirmar, na caixa de texto de comentário de confirmação, insira
[skip ci]
e selecione Confirmar.Observação: ao adicionar o comentário
[skip ci]
ao fazer commit, você impedirá a execução automática do pipeline, que, neste ponto, é executado por padrão após cada alteração no repositório.
Tarefa 3: preparar o pipeline para usar modelos
-
No portal do Azure DevOps, na página do projeto eShopOnWeb, acesse Repositórios.
-
No diretório raiz do repositório, selecione azure-pipelines.yml, que contém a definição do pipeline eShopOnWeb-MultiStage-Main.
-
Clique no botão Editar.
-
Substitua o conteúdo do azure-pipelines.yml pelo seguinte código:
trigger: - main variables: - template: .ado/eshoponweb-variables.yml stages: - stage: Dev jobs: - template: .ado/eshoponweb-ci.yml - stage: Test jobs: - template: .ado/eshoponweb-cd-webapp-code.yml - stage: Production jobs: - job: Deploy steps: - script: echo Deploy to Production or Swap
-
Selecione Commit, na caixa de texto de comentário de commit, insira
[skip ci]
e selecione Fazer commit.
Tarefa 4: atualização de modelos de CI/CD
-
Nos Repositórios do projeto eShopOnWeb, selecione o diretório .ado e selecione o arquivo eshoponweb-ci.yml.
-
Clique no botão Editar.
-
Remova tudo o que estiver acima da seção trabalhos.
#NAME THE PIPELINE SAME AS FILE (WITHOUT ".yml") # trigger: # - main resources: repositories: - repository: self trigger: none stages: - stage: Build displayName: Build .Net Core Solution
-
Selecione Commit, na caixa de texto de comentário de commit, insira
[skip ci]
e selecione Fazer commit. -
Nos Repositórios do projeto eShopOnWeb, selecione o diretório .ado e selecione o arquivo eshoponweb-cd-webapp-code.yml.
-
Clique no botão Editar.
-
Remova tudo o que estiver acima da seção trabalhos.
# NAME THE PIPELINE SAME AS FILE (WITHOUT ".yml") # # Trigger CD when CI executed successfully resources: pipelines: - pipeline: eshoponweb-ci source: eshoponweb-ci # given pipeline name trigger: true repositories: - repository: eShopSecurity type: git name: eShopSecurity/eShopSecurity # name of the project and repository variables: - template: eshoponweb-secure-variables.yml@eShopSecurity # name of the template and repository stages: - stage: Test displayName: Testing WebApp jobs: - deployment: Test pool: eShopOnWebSelfPool environment: Test strategy: runOnce: deploy: steps: - script: echo Hello world! Testing environments! - stage: Deploy displayName: Deploy to WebApp
-
Substitua o conteúdo existente da etapa #download artifacts por:
- download: current artifact: Website - download: current artifact: Bicep
-
Selecione Commit, na caixa de texto de comentário de commit, insira
[skip ci]
e selecione Fazer commit.
Tarefa 5: executar o pipeline principal
-
Acesse Pipelines > Pipelines.
-
Abra o pipeline eShopOnWeb-MultiStage-Main.
-
Selecione Executar pipeline.
Observação: se você receber uma mensagem informando que o pipeline precisa de permissão para acessar um recurso antes que essa execução possa continuar, selecione Exibir e, em seguida, selecione Permitir e Permitir novamente para permitir que o pipeline seja executado.
Observação: se algum trabalho na fase de implantação falhar, vá até a página de execução de pipeline e selecione Executar novamente trabalhos com falha*.
-
Aguarde até que o pipeline termine e verifique os resultados.
[!IMPORTANT] Lembre-se de excluir os recursos criados no portal do Azure para evitar cobranças desnecessárias.
Revisão
Neste laboratório, você aprendeu a estender um pipeline para vários modelos usando o Azure DevOps. Esse laboratório abordou conceitos fundamentais e melhores práticas para criar um pipeline de várias fases, criando um modelo de variáveis, um modelo de trabalho e um modelo de fase.