Tornar seu projeto compatível com a CLI do Azure Developer

A CLI do Desenvolvedor do Azure (azd) permite que os desenvolvedores façam scaffold de seus aplicativos para a nuvem usando modelos hospedados no GitHub. A Microsoft fornece vários modelos para você começar. Neste artigo, você aprenderá como tornar seu próprio aplicativo azd compatível.

Compreender a arquitetura do modelo

O diagrama a seguir fornece uma visão geral rápida do processo para criar um azd modelo:

Diagram of Azure Developer CLI template workflow.

Todos os azd modelos têm a mesma estrutura de arquivos, com base em azd convenções. A hierarquia a seguir mostra a estrutura de diretórios que você criará neste tutorial.

├── .azdo                                        [ Configures an Azure Pipeline ]
├── .devcontainer                                [ For DevContainer ]
├── .github                                      [ Configures a GitHub workflow ]
├── .vscode                                      [ VS Code workspace configurations ]
├── .azure                                       [ Stores Azure configurations and environment variables ]
├── infra                                        [ Contains infrastructure as code files ]
│   ├── main.bicep/main.tf                       [ Main infrastructure file ]
│   ├── main.parameters.json/main.tfvars.json    [ Parameters file ]
│   └── core/modules                             [ Contains reusable Bicep/Terraform modules ]
└── azure.yaml                                   [ Describes the app and type of Azure resources]

Inicializar o modelo

O azd init comando é usado para inicializar seu aplicativo para provisionamento e implantação dos recursos do aplicativo no Azure. Este comando solicita que você escolha entre dois fluxos de trabalho diferentes para inicializar um modelo descrito nas seções a seguir.

  • Usar código no diretório atual: Selecione esta opção para instruir azd a analisar o código em seu diretório para identificar quais tecnologias ele usa, como a linguagem de programação, a estrutura e o sistema de banco de dados. azd Em seguida, gerará automaticamente ativos de modelo para você, como o azure.yaml arquivo de definição de serviço e a infra pasta com arquivos de infraestrutura como código.

  • Selecione um modelo: selecione esta opção para usar um modelo existente como ponto de partida. Por padrão, permite que você navegue por modelos da galeria Awesome AZD, azd mas você também pode configurar suas próprias galerias de modelos. Quando você seleciona um modelo, os ativos desse modelo serão adicionados ao diretório de projeto existente.

Os detalhes de cada um desses fluxos de trabalho são descritos nas seções abaixo.

  1. Você pode seguir as etapas à frente usando seu próprio projeto. No entanto, se você preferir acompanhar usando um aplicativo de exemplo, clone o repositório inicial a seguir para um diretório vazio no seu computador:

    git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
    
  2. Abra sua ferramenta de linha de comando de escolha para o diretório raiz do projeto.

  3. Execute o comando para inicializar o azd init modelo.

    azd init
    
  4. Quando solicitado, selecione a opção Usar código no diretório atual. azd analisa o projeto e fornece um resumo dos serviços detetados e dos recursos de hospedagem recomendados do Azure.

  5. Selecione Confirmar e continuar inicializando meu aplicativo. azd gera os seguintes ativos no diretório raiz do projeto:

    • Um azure.yaml arquivo com definições de serviço apropriadas.
    • Uma infra pasta com arquivos de infraestrutura como código para provisionar e implantar o projeto no Azure.
    • Uma .azure pasta com variáveis de ambiente definidas em um .env arquivo.

    Mais detalhes sobre esse processo de deteção e geração são fornecidos mais adiante no artigo.

  6. Os arquivos gerados funcionam como estão para o aplicativo de exemplo fornecido e podem para seus próprios aplicativos também. Se necessário, os arquivos gerados podem ser modificados para atender às suas necessidades. Por exemplo, talvez seja necessário modificar ainda mais os arquivos de infraestrutura como código na infra pasta se seu aplicativo depender de recursos do Azure além daqueles que foram identificados pelo azd.

  7. Execute o azd up comando para provisionar e implantar seu aplicativo no Azure.

    azd up
    
  8. Quando solicitado, selecione a assinatura e o local desejados para iniciar o processo de provisionamento e implantação.

  9. Quando o processo for concluído, clique no link na saída para abrir o aplicativo no azd navegador.

Explore as etapas de inicialização

Quando você seleciona o código Usar no fluxo de trabalho de diretório atual, o comando analisa seu projeto e gera automaticamente o azd init código com base no que ele descobre. As seções abaixo explicam os detalhes de como esse processo funciona e quais tecnologias são suportadas atualmente.

Detection

O azd init comando deteta arquivos de projeto para idiomas suportados localizados no diretório e subdiretórios do projeto. azd também verificará as dependências do pacote para coletar informações sobre as estruturas da Web ou bancos de dados que seu aplicativo usa. Se necessário, você pode adicionar ou editar manualmente os componentes detetados conforme apresentado no prompt de resumo de confirmação.

A lógica de deteção atual é a seguinte:

  • Idiomas suportados:
    • Python
    • JavaScript/TypeScript
    • .NET
    • Java
  • Bases de dados suportadas:
    • MongoDB
    • PostgreSQL
  • Para Python e JavaScript/TypeScript, frameworks da web e bancos de dados são detetados automaticamente.
  • Quando um projeto JavaScript/TypeScript usa uma estrutura da Web front-end (ou do lado do cliente), ele é classificado como um serviço front-end. Se o seu serviço usa uma estrutura da Web front-end que não é detetada no momento, você pode selecionar JQuery para fornecer classificação e comportamento de serviço front-end equivalente.

Geração

Depois de confirmar os componentes detetados, azd init gera os arquivos de infraestrutura como código necessários para implantar seu aplicativo no Azure.

A lógica de geração é a seguinte:

  • Anfitriões suportados:
    • Aplicativos de contêiner do Azure.
  • Para bancos de dados, o mapeamento suportado entre a tecnologia de banco de dados e o serviço usado:
    • MongoDB: API do Azure CosmosDB para MongoDB
    • PostgreSQL: Banco de Dados do Azure para servidor flexível PostgreSQL
    • Redis: Complemento Redis do Azure Container Apps
  • Os serviços que usam bancos de dados terão variáveis de ambiente que fornecem conexão com o banco de dados pré-configurado por padrão.
  • Quando os serviços front-end e back-end forem detetados, a configuração CORS no host do Azure para serviços back-end será atualizada para permitir o domínio de hospedagem padrão dos serviços front-end. Isso pode ser modificado ou removido conforme necessário nos arquivos de configuração Infraestrutura como código.

Adicionar suporte para contêineres de desenvolvimento

Você também pode tornar seu modelo compatível com contêineres de desenvolvimento e Codespaces. Um contêiner de desenvolvimento permite que você use um contêiner como um ambiente de desenvolvimento completo. Ele pode ser usado para executar um aplicativo, para separar ferramentas, bibliotecas ou tempos de execução necessários para trabalhar com uma base de código e para ajudar na integração e teste contínuos. Os contêineres de desenvolvimento podem ser executados local ou remotamente, em uma nuvem privada ou pública. (Fonte: https://containers.dev/)

Para adicionar suporte para contêineres de desenvolvimento:

  1. Crie uma pasta .devcontainer na raiz do seu projeto.

  2. Crie um devcontainer.json arquivo dentro da .devcontainer pasta com as configurações desejadas. O azd modelo inicial fornece um arquivo de exemplo devcontainer.json que você pode copiar para seu projeto e modificar conforme necessário.

Leia mais sobre como trabalhar com contêineres de desenvolvimento na documentação do Visual Studio Code.

Adicionar suporte para um pipeline de CI/CD

Você também pode adicionar suporte para CI/CD em seu modelo usando ações do GitHub ou Azure DevOps usando as seguintes etapas:

  1. Adicione uma pasta para ações do GitHub ou uma .github.ado pasta para o Azure DevOps à raiz do seu projeto.

  2. Adicione um arquivo de fluxo de trabalho à nova pasta. O azd modelo inicial fornece um arquivo de fluxo de trabalho de Ações de Exemplo do GitHub e arquivos de Pipelines de DevOps do Azure de Exemplo para cada plataforma que você pode copiar para seu projeto e modificar conforme necessário.

  3. Também pode ser necessário atualizar o main.parameters.json arquivo em sua infra pasta com as variáveis de ambiente necessárias para que seu fluxo de trabalho seja executado.

Configurar o pipeline de CI/CD

Se seu modelo incluir suporte para Ações do GitHub ou Pipelines do Azure, você poderá configurar um pipeline de CI/CD usando as seguintes etapas:

  1. Execute o seguinte comando para enviar atualizações por push para o repositório. O fluxo de trabalho de Ações do GitHub é acionado devido à atualização.

    azd pipeline config    
    
  2. Usando seu navegador, vá para o repositório GitHub do seu projeto.

  3. Selecione Ações para ver o fluxo de trabalho em execução.

Clean up resources (Limpar recursos)

Quando não precisar mais dos recursos criados neste artigo, execute o seguinte comando:

azd down

Consulte também

Pedir ajuda

Para obter informações sobre como arquivar um bug, solicitar ajuda ou propor um novo recurso para a CLI do Desenvolvedor do Azure, visite a página de solução de problemas e suporte .

Próximos passos