Partilhar via


Tutorial: Integração contínua de modelos ARM com o Azure Pipelines

No tutorial anterior, você implanta um modelo vinculado. Neste tutorial, você aprenderá a usar o Azure Pipelines para criar e implantar continuamente projetos de modelo do Azure Resource Manager (modelo ARM).

O Azure DevOps fornece serviços de programadores para equipas de suporte para planear trabalho, colaborar com o desenvolvimento de código e criar e implementar aplicações. Os desenvolvedores podem trabalhar na nuvem usando os Serviços de DevOps do Azure. O Azure DevOps fornece um conjunto integrado de recursos que você pode acessar por meio de seu navegador da Web ou cliente IDE. O Azure Pipelines é um desses recursos. O Azure Pipelines é um serviço de integração contínua (CI) e entrega contínua (CD) com todos os recursos. Ele funciona com seu provedor Git preferido e pode ser implantado na maioria dos principais serviços de nuvem. Em seguida, você pode automatizar a compilação, o teste e a implantação do seu código no Microsoft Azure, no Google Cloud Platform ou na Amazon Web Services.

Observação

Escolha um nome de projeto. Quando você passar pelo tutorial, substitua qualquer um dos ARMPipelineProj pelo nome do seu projeto. Este nome de projeto é usado para gerar nomes de recursos. Um dos recursos é uma conta de armazenamento. Os nomes das contas de armazenamento devem ter entre 3 e 24 caracteres e usar apenas números e letras minúsculas. O nome tem de ser exclusivo. No modelo, o nome da conta de armazenamento é o nome do projeto com o repositório anexado e o nome do projeto deve ter entre 3 e 11 caracteres. Portanto, o nome do projeto deve atender aos requisitos de nome da conta de armazenamento e tem menos de 11 caracteres.

Este tutorial abrange as seguintes tarefas:

  • Preparar um repositório GitHub
  • Criar um projeto de DevOps do Azure
  • Criar um pipeline do Azure
  • Verificar a implantação do pipeline
  • Atualizar o modelo e reimplantar
  • Limpeza de recursos

Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

Pré-requisitos

Para concluir este artigo, precisa de:

Preparar um repositório GitHub

O GitHub é usado para armazenar o código-fonte do projeto, incluindo modelos do Resource Manager. Para outros repositórios com suporte, consulte Repositórios suportados pelo Azure DevOps.

Criar um repositório GitHub

Se você não tiver uma conta do GitHub, consulte Pré-requisitos.

  1. Faça login no GitHub.

  2. Selecione a imagem da sua conta no canto superior direito e, em seguida, selecione Os seus repositórios.

    Captura de ecrã a mostrar a criação de um repositório GitHub para o Azure Resource Manager Azure DevOps Azure Pipelines.

  3. Selecione Novo, um botão verde.

  4. Em Nome do repositório, insira um nome de repositório. Por exemplo, ARMPipeline-repo. Lembre-se de substituir qualquer um dos ARMPipeline pelo nome do seu projeto. Você pode selecionar Público ou privado para passar por este tutorial. E, em seguida, selecione Criar repositório.

  5. Anote o URL. O URL do repositório é o seguinte formato - https://github.com/[YourAccountName]/[YourRepositoryName].

Este repositório é conhecido como um repositório remoto. Cada um dos desenvolvedores do mesmo projeto pode clonar seu próprio repositório local e mesclar as alterações no repositório remoto.

Clone o repositório remoto

  1. Abra o Git Shell ou o Git Bash. Consulte Pré-requisitos.

  2. Verifique se sua pasta atual é GitHub.

  3. Execute o seguinte comando:

    git clone https://github.com/[YourAccountName]/[YourGitHubRepositoryName]
    cd [YourGitHubRepositoryName]
    mkdir create_web_app
    cd create_web_app
    pwd
    

    Substitua [YourAccountName] pelo nome da conta do GitHub e substitua [YourGitHubRepositoryName] pelo nome do repositório criado no procedimento anterior.

A pasta create_web_app é a pasta onde o modelo está armazenado. O pwd comando mostra o caminho da pasta. O caminho é onde você salva o modelo no procedimento a seguir.

Baixar um modelo de início rápido

Em vez de criar os modelos, você pode baixá-los e salvá-los na pasta create_web_app .

Tanto o nome da pasta quanto os nomes de arquivo são utilizados tal como estão no pipeline. Se você alterar esses nomes, deverá atualizar os nomes usados no pipeline.

Envie o modelo para o repositório remoto

O azuredeploy.json foi adicionado ao repositório local. Em seguida, carregue o modelo no repositório remoto.

  1. Abra o Git Shell ou o Git Bash, se não estiver aberto.

  2. Altere o diretório para a pasta create_web_app no repositório local.

  3. Verifique se o arquivo azuredeploy.json está na pasta.

  4. Execute o seguinte comando:

    git add .
    git commit -m "Add web app templates."
    git push origin main
    

    Você pode receber um aviso sobre LF. Você pode ignorar o aviso. principal é o ramo principal. Normalmente, você cria uma ramificação para cada atualização. Para simplificar o tutorial, use a ramificação principal diretamente.

  5. Navegue até o repositório GitHub a partir de um navegador. A URL é https://github.com/[YourAccountName]/[YourGitHubRepository]. Você verá a pasta create_web_app e os dois arquivos dentro da pasta.

  6. Selecione azuredeploy.json para abrir o modelo.

  7. Selecione o botão Raw . O URL começa com https://raw.githubusercontent.com.

  8. Faça uma cópia do URL. Você precisa fornecer esse valor ao configurar o pipeline posteriormente no tutorial.

Até agora, você criou um repositório GitHub e carregou os modelos para o repositório.

Criar um projeto de DevOps

Uma organização de DevOps é necessária antes que você possa prosseguir para o próximo procedimento. Se você não tiver um, consulte Pré-requisitos.

  1. Iniciar sessão no Azure DevOps.

  2. Selecione uma organização de DevOps à esquerda e, em seguida, selecione Novo projeto. Se você não tiver nenhum projeto, a página criar projeto será aberta automaticamente.

  3. Insira os seguintes valores:

    Captura de tela da criação de um projeto do Azure DevOps para o Azure Resource Manager Azure DevOps Azure Pipelines.

    • Nome do projeto: insira um nome de projeto. Você pode usar o nome do projeto escolhido no início do tutorial.
    • Visibilidade: Selecione Privado.

    Use o valor padrão para as outras propriedades.

  4. Selecione Criar.

Crie uma conexão de serviço que é usada para implantar projetos no Azure.

  1. Selecione Configurações do projeto na parte inferior do menu à esquerda.

  2. Selecione Conexões de serviço em Pipelines.

  3. Selecione Criar conexão de serviço, selecione Gerenciador de Recursos do Azure e selecione Avançar.

  4. Selecione entidade de serviço (automática)e, em seguida, selecione Seguinte.

  5. Insira os seguintes valores:

    • Nível de escopo: selecione Assinatura.
    • Subscrição: selecione a sua subscrição.
    • Grupo de recursos: deixe-o em branco.
    • Nome da conexão: insira um nome de conexão. Por exemplo, ARMPipeline-conn. Anote este nome, você precisa do nome quando criar seu pipeline.
    • Dê permissão de acesso a todos os pipelines. (selecionado)
  6. Selecione Guardar.

Criar uma canalização

Até agora, você concluiu as seguintes tarefas. Se você ignorar as seções anteriores porque está familiarizado com o GitHub e o DevOps, deverá concluir as tarefas antes de continuar.

  • Crie um repositório GitHub e salve os modelos na pasta create_web_app no repositório.
  • Crie um projeto DevOps e crie uma conexão de serviço do Azure Resource Manager.

Para criar um pipeline com uma etapa para implementar um template:

  1. Selecione Pipelines no menu à esquerda.

  2. Selecione Criar pipeline.

  3. Na guia Conectar , selecione GitHub. Se solicitado, insira suas credenciais do GitHub e siga as instruções. Se você vir a tela a seguir, selecione Somente selecionar repositórios e verifique se seu repositório está na lista antes de selecionar Aprovar & Instalar.

    Captura de ecrã a mostrar a seleção de repositórios para o Azure Resource Manager Azure DevOps Azure Pipelines.

  4. Na guia Selecionar , selecione seu repositório. O nome padrão é [YourAccountName]/[YourGitHubRepositoryName].

  5. Na guia Configurar , selecione Pipeline inicial. Ele mostra o azure-pipelines.yml arquivo de pipeline com duas etapas de script.

  6. Exclua as duas etapas de script do arquivo .yml .

  7. Mova o cursor para a linha seguinte às etapas:.

  8. Selecione Mostrar assistente à direita da tela para abrir o painel Tarefas .

  9. Selecione Implantação de modelo ARM.

  10. Insira os seguintes valores:

    • deploymentScope: Selecione Grupo de Recursos. Para saber mais sobre os escopos, consulte Escopos de implantação.
    • Conexão do Azure Resource Manager: selecione o nome da conexão de serviço que você criou anteriormente.
    • Assinatura: especifique o ID da assinatura de destino.
    • Ação: Selecione a ação Criar ou atualizar grupo de recursos executa 2 ações - 1. criar um grupo de recursos se um novo nome de grupo de recursos for fornecido; 2. Implante o modelo especificado.
    • Grupo de recursos: insira um novo nome de grupo de recursos. Por exemplo, ARMPipeline-rg.
    • Local: Selecione um local para o grupo de recursos, por exemplo, Central US .
    • Local do modelo: selecione a URL do arquivo, isto significa que a tarefa procura o arquivo de modelo usando a URL. Como relativePath é usado no modelo principal e relativePath só é suportado em implantações baseadas em URI, você deve usar a URL aqui.
    • Link do modelo: insira a URL que você obteve no final da seção Preparar um repositório do GitHub . Começa com https://raw.githubusercontent.com.
    • Parâmetros do modelo: Deixe este campo em branco. Você especificará os valores dos parâmetros nos Parâmetros de substituição do modelo.
    • Substituir parâmetros do modelo: insira -projectName [EnterAProjectName].
    • Modo de implantação: selecione Incremental.
    • Nome da implantação: insira DeployPipelineTemplate. Selecione Avançado antes de ver Nome da implantação.

    Captura de tela da página de implantação de modelo ARM com os valores necessários inseridos para o Azure DevOps Azure Pipelines.

  11. Selecione Adicionar.

    Para obter mais informações sobre a tarefa, consulte Tarefa de implantação do grupo de recursos do Azure e Tarefa de implantação de modelo do Azure Resource Manager

    O ficheiro .yml deve ser semelhante a:

    Captura de ecrã da página de Revisão com o novo pipeline intitulado Revise o seu pipeline YAML para Azure DevOps Azure Pipelines.

  12. Selecione Guardar e executar.

  13. No painel Salvar e executar , selecione Salvar e executar novamente. Uma cópia do arquivo YAML é salva no repositório conectado. Você pode ver o arquivo YAML navegando até o repositório.

  14. Verifique se o pipeline foi executado com êxito.

    Captura de ecrã do ficheiro YAML do Azure Resource Manager Azure DevOps Azure Pipelines.

Verificar a implantação

  1. Inicie sessão no portal Azure.
  2. Abra o grupo de recursos. O nome é o que você especificou no arquivo YAML do pipeline. Você verá uma conta de armazenamento criada. O nome da conta de armazenamento começa com store.
  3. Selecione o nome da conta de armazenamento para abri-la.
  4. Selecione Propriedades. Observe que a replicação é armazenamento com redundância local (LRS).

Atualizar e reimplantar

Quando você atualiza o modelo e envia as alterações para o repositório remoto, o pipeline atualiza automaticamente os recursos, a conta de armazenamento nesse caso.

  1. Abra linkedStorageAccount.json de seu repositório local no Visual Studio Code ou em qualquer editor de texto.

  2. Atualize o defaultValue de storageAccountType para Standard_GRS. Veja a seguinte captura de tela:

    Captura de ecrã a mostrar a atualização do ficheiro YAML para o Azure Resource Manager Azure DevOps Azure Pipelines.

  3. Salve as alterações.

  4. Envie as alterações para o repositório remoto executando os seguintes comandos do Git Bash/Shell.

    git pull origin main
    git add .
    git commit -m "Update the storage account type."
    git push origin main
    

    O primeiro comando (pull) sincroniza o repositório local com o repositório remoto. O arquivo YAML de pipeline só foi adicionado ao repositório remoto. A execução do pull comando baixa uma cópia do arquivo YAML para a ramificação local.

    O quarto comando (push) carrega o arquivo linkedStorageAccount.json revisado para o repositório remoto. Com a ramificação principal do repositório remoto atualizada, o pipeline é acionado novamente.

Para verificar as alterações, você pode verificar a propriedade Replication da conta de armazenamento. Consulte Verificar a implantação.

Limpeza de recursos

Quando os recursos do Azure não forem mais necessários, limpe os recursos implantados excluindo o grupo de recursos.

  1. No portal do Azure, selecione Grupo de recursos no menu à esquerda.
  2. Insira o nome do grupo de recursos no campo Filtrar por nome.
  3. Selecione o nome do grupo de recursos.
  4. Selecione Excluir grupo de recursos no menu superior.

Você também pode querer excluir o repositório GitHub e o projeto Azure DevOps.

Próximos passos

Parabéns, você terminou este tutorial de implantação de modelo do Gerenciador de Recursos. Deixe-nos saber se você tem quaisquer comentários e sugestões na seção de feedback. Obrigado;! Você está pronto para entrar em conceitos mais avançados sobre modelos. O próximo tutorial entra em mais detalhes sobre como usar a documentação de referência de modelo para ajudar na definição de recursos a serem implantados.