Configurar pipelines para usar variáveis e parâmetros com segurança
Neste laboratório, você vai aprender a como configurar pipelines para usar variáveis e parâmetros com segurança.
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: garantir os tipos de variáveis e parâmetros
Tarefa 1: (se concluída, ignorar) Importar e executar o pipeline de CI
Vamos começar importando o pipeline de CI chamado eshoponweb-ci.yml.
-
Navegue até o portal do Azure DevOps em
https://aex.dev.azure.com
e abra sua organização. -
Abra o projeto eShopOnWeb no Azure DevOps.
-
Acesse Pipelines > Pipelines.
-
Selecione o botão Criar pipeline.
-
Selecione Git do Azure Repos (Yaml).
-
Selecione o repositório eShopOnWeb.
-
Selecione Arquivo YAML existente do Azure Pipelines.
-
Selecione o arquivo /.ado/eshoponweb-ci.yml e clique em Continuar.
-
Clique no botão Executar para executar o pipeline.
Observação: seu pipeline terá um nome com base no nome do projeto. Você o renomeará para facilitar a identificação do pipeline.
-
Vá para Pipelines > Pipelines e selecione o pipeline criado recentemente. Selecione as reticências e, em seguida, selecione a opção Renomear/mover.
-
Nomeie-o eshoponweb-ci e selecione Salvar.
Tarefa 2: garantir tipos de parâmetros para pipelines YAML
Nesta tarefa, você definirá parâmetros e tipos de parâmetros para o pipeline.
-
Vá para Pipelines > Pipelines e selecione o pipeline eshoponweb-ci.
-
Selecione Editar.
-
Adicione os seguintes parâmetros acima das seções de trabalho na parte superior do arquivo YAML:
parameters: - name: dotNetProjects type: string default: '**/*.sln' - name: testProjects type: string default: 'tests/UnitTests/*.csproj' jobs: - job: Build pool: eShopOnWebSelfPool steps:
-
Substitua os caminhos codificados nas tarefas “Restaurar”, “Compilar” e ‘“Testar” pelos parâmetros que você acabou de criar.
- Substitua projetos:
**/*.sln
por projetos:$
nas tarefasRestore
eBuild
. - Substituir projetos:
tests/UnitTests/*.csproj
por projetos:$
na tarefaTest
As tarefas “Restaurar”, “Compilar” e “Testar” na seção de etapas do arquivo YAML devem ter esta aparência:
steps: - task: DotNetCoreCLI@2 displayName: Restore inputs: command: 'restore' projects: $ feedsToUse: 'select' - task: DotNetCoreCLI@2 displayName: Build inputs: command: 'build' projects: $ - task: DotNetCoreCLI@2 displayName: Test inputs: command: 'test' projects: $
- Substitua projetos:
-
Clique em Validar e salvar para salvar as alterações e, em seguida, clique em Salvar.
-
Navegue até Pipelines > Pipelines e abra o pipeline eshoponweb-ci que está sendo executado e é disparado automaticamente.
-
Verifique se a execução do pipeline foi concluída com êxito.
Tarefa 3: Proteger variáveis e parâmetros
Nesta tarefa, você protegerá as variáveis e os parâmetros do pipeline usando grupos de variáveis.
-
Vá para Pipelines > Biblioteca.
-
Selecione o botão + Grupo de variáveis para criar um novo grupo de variáveis chamado
BuildConfigurations
. -
Adicione uma variável chamada
buildConfiguration
e defina seu valor comoRelease
. -
Salve o grupo de variáveis.
-
Selecione o botão Permissões de pipeline e selecione o botão + para adicionar um novo pipeline.
-
Selecione o pipeline eshoponweb-ci para permitir que o pipeline use o grupo de variáveis.
Observação: você também pode definir que usuários ou grupos específicos possam editar o grupo de variáveis clicando no botão Segurança.
-
Acesse Pipelines > Pipelines.
-
Abra o pipeline eshoponweb-ci e selecione Editar.
-
Na parte superior do arquivo yml, logo abaixo dos parâmetros, faça referência ao grupo de variáveis adicionando o seguinte:
variables: - group: BuildConfigurations
-
Na tarefa “Compilar”, adicione o parâmetro de configuração à tarefa para utilizar a configuração de compilação do grupo de variáveis.
command: 'build' projects: $ configuration: $(buildConfiguration)
-
Clique em Validar e salvar para salvar as alterações e, em seguida, clique em Salvar.
-
Edite o pipeline eshoponweb-ci. Ele deve ser executado com êxito com a configuração de compilação definida como “Lançamento”. Você pode verificar isso observando os logs da tarefa “Compilar”.
Observação: se você não vir a configuração de compilação definida como “Lançamento” nos logs, habilite o diagnóstico do sistema e execute novamente o pipeline para ver o valor da configuração.
Observação: seguindo essa abordagem, você pode proteger suas variáveis e parâmetros usando grupos de variáveis, sem precisar codificá-los em arquivos YAML.
Tarefa 4: Validar variáveis e parâmetros obrigatórios
Nesta tarefa, você validará as variáveis obrigatórias antes da execução do pipeline.
-
Acesse Pipelines > Pipelines.
-
Abra o pipeline eshoponweb-ci e selecione Editar.
-
Na seção de etapas, em no início (após a linha steps:), adicione uma nova tarefa de script para validar as variáveis obrigatórias antes da execução do pipeline.
- script: | IF NOT DEFINED buildConfiguration ( ECHO Error: buildConfiguration variable is not set EXIT /B 1 ) displayName: 'Validate Variables'
Observação: esta é uma validação simples para verificar se a variável está definida. Se as variáveis não forem definidas, o script falhará e o pipeline será interrompido. Você pode adicionar uma validação mais complexa para verificar o valor da variável ou se ela está definida como um valor específico.
-
Clique em Validar e salvar para salvar as alterações e, em seguida, clique em Salvar.
-
Edite o pipeline eshoponweb-ci. Ele será executado com êxito porque a variável buildConfiguration está definida no grupo de variáveis.
-
Para testar a validação, remova a variável buildConfiguration do grupo de variáveis ou renomeie o grupo de variáveis e execute o pipeline novamente. Ele deve falhar com o seguinte erro:
Error: buildConfiguration variable is not set
-
Adicione a variável buildConfiguration de volta ao grupo de variáveis e execute o pipeline novamente. Ele deve ser executado com êxito.
[!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 como configurar pipelines para usar variáveis e parâmetros com segurança e como validar variáveis e parâmentros obrigatórios.