Compartilhar via


Automatizar a compilação e implantação para fluxos de trabalho do aplicativo lógico Standard com o Azure DevOps

Para fluxos de trabalho de aplicativo lógico Standard executados em Aplicativos Lógicos do Azure de locatário único, você pode usar o Visual Studio Code com a extensão dos Aplicativos Lógicos do Azure (Standard) para desenvolver, testar e armazenar localmente seu projeto de aplicativo lógico usando qualquer sistema de controle do código-fonte. No entanto, para obter todos os benefícios da implantação fácil e consistente de seus fluxos de trabalho em diferentes ambientes e plataformas, você também deve automatizar seu processo de build e implantação.

A extensão aplicativos lógicos do Azure (Standard) fornece ferramentas para você criar e manter processos automatizados de build e implantação usando o Azure DevOps. No entanto, antes de iniciar essa automação, considere os seguintes elementos:

  • O recurso de aplicativo lógico do Azure em que você cria seus fluxos de trabalho

  • As conexões hospedadas no Azure que os fluxos de trabalho usam e são criadas a partir de conectores gerenciados pela Microsoft.

    Essas conexões diferem das conexões que são executadas direta e nativamente com o runtime dos Aplicativos Lógicos do Azure.

  • As configurações e parâmetros específicos para os diferentes ambientes em que você deseja implantar

A extensão ajuda você a concluir as seguintes tarefas necessárias para automatizar a compilação e a implantação:

  • Parametrizar referências de conexão em tempo de design. Essa tarefa simplifica o processo de atualização de referências em ambientes diferentes sem interromper a funcionalidade de desenvolvimento local.

  • Gere scripts que automatizam a implantação para o recurso de aplicativo lógico Standard, incluindo todos os recursos dependentes.

  • Gere scripts que automatizam a implantação para conexões hospedadas no Azure.

  • Prepare parâmetros específicos do ambiente que podem ser injetados no pacote de Aplicativos Lógicos do Azure durante o processo de build sem interromper a funcionalidade de desenvolvimento local.

  • Gere pipelines sob demanda usando o Azure DevOps para dar suporte à implantação de infraestrutura, juntamente com os processos de build e lançamento.

Este guia mostra como é possível realizar as seguintes tarefas:

  1. Crie um workspace de aplicativo lógico e um projeto no Visual Studio Code que inclua os arquivos que criam pipelines para implantação de infraestrutura, CI (integração contínua) e CD (implantação contínua).

  2. Crie uma conexão entre o workspace e o repositório Git no Azure DevOps.

  3. Crie pipelines no Azure DevOps.

Para saber mais, confira a seguinte documentação:

Limitações e problemas conhecidos

  • Essa funcionalidade dá suporte apenas a projetos de aplicativo lógico Standard. Se o workspace do Visual Studio Code contiver um projeto de aplicativo lógico Standard e um projeto de código personalizado do Functions, ambos terão scripts de implantação gerados, mas projetos de código personalizados serão ignorados no momento. A capacidade de criar pipelines de build para código personalizado está no roteiro.

  • A extensão cria pipelines para implantação de infraestrutura, CI (integração contínua) e CD (implantação contínua). No entanto, você é responsável por conectar os pipelines ao Azure DevOps e criar os gatilhos relevantes.

  • Atualmente, a extensão dá suporte apenas a modelos do ARM (Azure Resource Management) para scripts de implantação de infraestrutura. Outros modelos estão em planejamento.

Pré-requisitos

Criar um workspace de aplicativo lógico, um projeto e um fluxo de trabalho

  1. No Visual Studio Code, na barra Atividades, selecione o ícone do Azure.

  2. Na janela do Azure, na barra de ferramentas do Workspace, abra o menu Aplicativos Lógicos do Azure e selecione Criar novo workspace de aplicativo lógico.

    A captura de tela mostra o Visual Studio Code, o ícone do Azure selecionado no menu esquerdo, a seção Workspace e a opção selecionada para Criar novo workspace do aplicativo lógico.

  3. Siga os prompts para concluir as seguintes tarefas:

    1. Selecione a pasta para criar seu workspace.

    2. Insira o nome do workspace.

    3. Selecione o tipo de projeto: aplicativo lógico

    4. Insira o nome do projeto do aplicativo lógico.

    5. Selecione o modelo de fluxo de trabalho. Insira o nome do fluxo de trabalho.

    6. Selecione se deseja abrir seu workspace na janela atual do Visual Studio Code ou em uma nova janela.

      O Visual Studio Code mostra seu novo workspace e projeto de aplicativo lógico.

  4. Siga estas etapas para abrir o designer de fluxo de trabalho:

    1. Em seu projeto de aplicativo lógico, expanda a pasta com o nome do fluxo de trabalho.

    2. Se ainda não estiver aberto, abra o arquivo workflow.json, abra o menu de atalho do arquivo e selecione Abrir Designer.

    3. Quando for solicitado que você permita parametrizações para conexões quando o projeto for carregado, selecione Sim.

      Essa seleção permite que seu projeto use parâmetros em definições de conexão para que você possa automatizar a compilação e a implantação para ambientes diferentes.

    4. Siga os prompts para selecionar estes itens:

      • Usar conectores do Azure

        Observação

        Se você ignorar esta etapa, poderá usar apenas os conectores internos hospedados em runtime. Para habilitar os conectores hospedados pela Microsoft e hospedados no Azure posteriormente, siga estas etapas:

        1. Abra o menu de atalho do arquivo workflow.json e selecione Usar Conectores no Azure.

        2. Selecione um grupo de recursos existente do Azure que você deseja usar para seu aplicativo lógico.

        3. Recarregue o designer de fluxo de trabalho.

      • O grupo de recursos existente do Azure que você deseja usar para seu aplicativo lógico

  5. Quando terminar, recarregue o designer de fluxo de trabalho. Se solicitado, entre no Azure.

    A captura de tela mostra o Visual Studio Code, o ícone do Explorer selecionado no menu esquerdo, o projeto do aplicativo lógico e o designer de fluxo de trabalho.

Agora você pode editar o fluxo de trabalho da maneira desejada e testar localmente seu fluxo de trabalho ao longo do caminho. Para criar e testar um fluxo de trabalho de exemplo, consulte Criar fluxos de trabalho Standard com o Visual Studio Code.

Gerar scripts de implantação

Depois de criar e testar localmente seu fluxo de trabalho, crie seus scripts de implantação.

  1. Na área em branco em todos os arquivos do projeto, abra o menu de atalho do projeto e selecione Gerar scripts de implantação.

    A captura de tela mostra o Visual Studio Code, o ícone do Explorer selecionado no menu esquerdo, o projeto do aplicativo lógico, o menu de atalho da janela do projeto aberto e a opção selecionada para Gerar scripts de implantação.

  2. Siga os prompts para concluir estas etapas:

    1. Selecione o grupo de recursos existente do Azure a ser usado para seu aplicativo lógico.

    2. Insira um nome exclusivo para o recurso de aplicativo lógico.

    3. Insira um nome exclusivo para o recurso de conta de armazenamento.

    4. Insira um nome exclusivo a ser usado para o Plano do Serviço de Aplicativo.

    5. Selecione a pasta do workspace na qual você deseja gerar os arquivos.

      Local da pasta de implantação Descrição
      Nova pasta de implantação (padrão) Crie uma nova pasta no workspace atual.
      Escolher uma pasta diferente Selecione uma pasta diferente no workspace atual.

    Quando você terminar, o Visual Studio Code criará uma pasta chamada deployment/{logic-app-name} na raiz do seu espaço de trabalho. Essa pasta usa o mesmo nome de aplicativo lógico que você forneceu nestas etapas.

    Observação

    Os valores de variáveis, configurações de aplicativo e parâmetros nos arquivos a seguir são pré-preenchidos com base na entrada fornecida nestas etapas. Ao direcionar um ambiente diferente, certifique-se de atualizar os valores para os parâmetros e arquivos variáveis criados.

    A captura de tela mostra o Visual Studio Code, o ícone do Explorer selecionado no menu esquerdo, o projeto do aplicativo lógico e a pasta de scripts de implantação realçada com conteúdo.

    Na pasta {logic-app-name}, você tem a seguinte estrutura:

    Nome da pasta Nome e descrição do arquivo
    ADOPipelineScripts - CD-pipeline.yml: O pipeline de entrega contínua que contém as instruções para implantar o código do aplicativo lógico no recurso de aplicativo lógico no Azure.

    - CD-pipeline-variables.yml: Um arquivo YAML que contém as variáveis usadas pelo arquivo CD-pipeline.yml.

    - CI-pipeline.yml: O pipeline de integração contínua que contém as instruções para criar e gerar os artefatos necessários para implantar o recurso de aplicativo lógico no Azure.

    - CI-pipeline-variables.yml: Um arquivo YAML que contém as variáveis usadas pelo arquivo CI-pipeline.yml.

    - infrastructure-pipeline.yml: Um pipeline "Infraestrutura como Código" YAML que contém as instruções para carregar todos os modelos do ARM no Azure e executar as etapas no arquivo infrastructure-pipeline-template.yml.

    - infrastructure-pipeline-template.yml: Um arquivo de pipeline YAML que contém as etapas para implantar um recurso de aplicativo lógico com todas as dependências necessárias e implantar cada conexão gerenciada exigida pelo código-fonte.

    - infrastructure-pipeline-variables.yml: Um pipeline YAML que contém todas as variáveis necessárias para executar as etapas no arquivo infrastructure-pipeline-template.yml.
    ArmTemplates - {tipo de conexão}.parameters.json: um arquivo de parâmetros do Resource Manager que contém os parâmetros necessários para implantar uma conexão hospedada no Azure chamada {connection-type} para o Azure. Esse arquivo existe para cada conexão hospedada no Azure em seu fluxo de trabalho.

    - {connection-type}.template.json: Um arquivo de modelo do Resource Manager que representa uma conexão hospedada no Azure chamada {connection-reference} e contém as informações usadas para implantar o recurso de conexão correspondente no Azure. Esse arquivo existe para cada conexão hospedada no Azure em seu fluxo de trabalho.

    - {logic-app-name}.parameters.json: Um arquivo de parâmetros do Resource Manager que contém os parâmetros necessários para implantar o recurso de aplicativo lógico Standard chamado {logic-app-name} no Azure, incluindo todas as dependências.

    - {logic-app-name}.template.json: Um arquivo de modelo do Resource Manager que representa o recurso de aplicativo lógico Standard chamado {logic-app-name} e contém as informações usadas para implantar o recurso de aplicativo lógico no Azure.
    WorkflowParameters parameters.json: Esse arquivo JSON é uma cópia do arquivo de parâmetros local e contém uma cópia de todos os parâmetros definidos pelo usuário mais a versão da nuvem de todos os parâmetros criados pela extensão para parametrizar conexões hospedadas no Azure. Esse arquivo é usado para criar o pacote que é implantado no Azure.

Conectar seu workspace ao repositório Git

  1. Siga estas etapas para inicializar seu repositório:

    1. No Visual Studio Code, na barra Atividades, selecione o ícone controle do código-fonte.

    2. Na janela Controle do código-fonte, selecione Inicializar Repositório.

    3. No menu de prompt, selecione Escolher Pasta. Selecione a pasta raiz do workspace e selecione Inicializar Repositório.

      A captura de tela mostra o Visual Studio Code, a janela Controle do Código-Fonte e a opção selecionada chamada Inicializar Repositório.

    4. Na janela Controle do código-fonte, selecione Abrir Repositório.

    5. No menu de prompt, selecione o repositório que você acabou de criar.

    Para obter mais informações, consulte Visual Studio Code – Inicializar um repositório em uma pasta local.

  2. Siga estas etapas para obter a URL do repositório Git para que você possa adicionar um controle remoto:

    1. No Azure DevOps, abra o projeto de equipe para sua organização do Azure DevOps.

    2. No menu à esquerda, expanda Repositórios e selecione Arquivos.

    3. Na barra de ferramentas Arquivos, selecione Clonar.

      A captura de tela mostra o projeto de equipe do Azure DevOps, o repositório Git e a opção selecionada chamada Clone.

    4. Na janela Clonar Repositório, copie a versão HTTPS da URL do clone.

      Para obter mais informações, consulte Obter a URL de clone do repositório Git no Azure Repos.

  3. Siga estas etapas para adicionar um controle remoto ao repositório Git:

    1. Retorne ao Visual Studio Code e à janela Controle de código-fonte.

    2. Em Repositórios de Controle do Código-Fonte, na barra de ferramentas do repositório, abra o menu de reticências (...) e selecione Remote>Add remote.

      A captura de tela mostra o Visual Studio Code, a janela de controle do código-fonte e a opção selecionada chamada Adicionar remoto.

  4. No prompt, cole a URL copiada e insira um nome para o remoto, que geralmente é origem.

    Agora você criou uma conexão entre o Visual Studio Code e seu repositório.

  5. Antes de configurar seus pipelines na próxima seção, abra o arquivo CD-pipeline.yml e renomeie o Pipeline de CI no atributo source para corresponder ao nome do pipeline de CI que você deseja usar.

    A captura de tela mostra o Visual Studio Code, a janela de controle do código-fonte, o arquivo aberto CD-pipeline.yml e o campo de origem realçado para o nome do pipeline de CI.

  6. Na janela controle do código-fonte, confirme as alterações e publique-as no repositório.

    Para obter mais informações, consulte Alterações de código de estágio e confirmação.

Criar pipelines no Azure DevOps

Para criar a infraestrutura junto com os pipelines de CI e CD no Azure DevOps, repita as seguintes etapas para cada um dos seguintes arquivos de pipeline:

  • infrastructure-pipeline.yml para o pipeline "Infraestrutura como Código".
  • CI-pipeline.yml para o pipeline de Integração Contínua.
  • CD-pipeline.yml para o pipeline de Entrega Contínua.

Configurar um pipeline

  1. No Azure DevOps, volte para o projeto de equipe e para o painel Arquivos>de Repositório.

  2. No painel Arquivos, selecione Configurar compilação.

    A captura de tela mostra o projeto de equipe do Azure DevOps, o repositório Git e a opção selecionada chamada Configurar build.

  3. No painel Inventário do pipeline, confirme as informações do repositório e selecione Configurar pipeline.

    A captura de tela mostra a página Inventário com informações de repositório para o pipeline.

  4. No painel Configurar seu pipeline, selecione Arquivo YAML do Azure Pipelines existente.

    A captura de tela mostra a página Configurar para selecionar um tipo de pipeline.

  5. No painel Selecionar um arquivo YAML existente, siga estas etapas para selecionar o arquivo Infrastructure-pipeline.yml:

    1. Para Branch, selecione a ramificação em que você cometeu suas alterações, por exemplo, principal ou seu branch de lançamento.

    2. Para Caminho, selecione o caminho a ser usado para o pipeline. O seguinte caminho é o valor padrão:

      deployment/{logic-app-name}/ADOPipelineScripts/{infrastructure-pipeline-name}.yml

    3. Quando estiver pronto, selecione Continuar.

      Captura de tela mostrando o painel para Selecionar um arquivo YAML existente.

  6. No painel Configurar seu pipeline, selecione Revisar pipeline.

  7. No painel Examinar o pipeline controlado, forneça as seguintes informações:

    • Nome do Pipeline: Insira um nome para o pipeline.
    • Pasta do pipeline: Selecione a pasta onde salvar o pipeline, que é denominada ./deployment/{logic-app-name}/pipelines.
  8. Quando terminar, selecione Salvar.

    A captura de tela mostra o painel chamado Pipeline controlado de Revisão.

Exibir e executar pipeline

Para localizar e executar o pipeline, siga estas etapas:

  1. No menu esquerdo do projeto de equipe, expanda Pipelines e selecione Pipelines.

  2. Selecione a guia Todos para exibir todos os pipelines disponíveis. Localize e selecione seu pipeline.

  3. Na barra de ferramentas do pipeline, selecione Executar pipeline.

    A captura de tela mostra o painel do pipeline criado e a opção selecionada para Executar pipeline.

Para obter mais informações, consulte Criar seu primeiro pipeline.

Confira também