Compartilhar via


Adicionar suporte à CLI do Desenvolvedor do Azure ao seu aplicativo usando código no diretório do aplicativo

A CLI do Desenvolvedor do Azure (azd) fornece dois fluxos de trabalho diferentes para inicializar um modelo a ser usado com seu aplicativo, que incluem:

  • Usar código no diretório atual: essa abordagem analisa seu aplicativo e gera automaticamente recursos de infraestrutura e configuração com suporte.
  • Selecione um modelo: essa abordagem permite integrar um modelo existente ao seu aplicativo ou usar um modelo existente como ponto de partida para um novo aplicativo.

Ambas as abordagens são exploradas no documento de visão geral Criar modelos da CLI do Desenvolvedor do Azure.

Neste artigo, você aprenderá a adicionar suporte para a CLI do Desenvolvedor do Azure (azd) ao seu aplicativo por meio da abordagem Usar código no diretório atual. Visite o documento Adicionar azd suporte ao seu aplicativo usando um modelo existente para obter mais informações sobre a abordagem alternativa. Você também pode visitar o Treinamento - criar e implantar azd modelos para obter mais informações sobre a criação azd de modelos.

Usar código no diretório atual

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

    git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
    
  2. Abra um terminal para o diretório raiz do projeto.

  3. Execute o azd init comando para inicializar o 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 detectados 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 detecçã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 também para seus próprios aplicativos. 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 azd saída para abrir o aplicativo no navegador.

Explore as etapas de inicialização

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

Detecção

O azd init comando detecta arquivos de projeto para idiomas com suporte localizados no diretório e subdiretórios do projeto. azd Também verifica 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 detectados, conforme apresentado no prompt de resumo de confirmação.

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

  • Idiomas suportados:
    • Python
    • JavaScript/TypeScript
    • .NET
    • Java
  • Bases de dados suportadas:
    • MongoDB
    • PostgreSQL
  • Para Python e JavaScript/TypeScript, frameworks web e bancos de dados são detectados 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 seu serviço usa uma estrutura da Web front-end que não é detectada no momento, você pode selecionar JQuery para fornecer classificação e comportamento de serviço front-end equivalentes.

Generation

Depois de confirmar os componentes detectados, 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:

  • Hosts suportados:
    • Aplicativos de Contêiner do Azure.
  • Para bancos de dados, o mapeamento com suporte 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 de Aplicativos de Contêiner do Azure
  • 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 detectados, a configuração do 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 localmente 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 pasta com as .devcontainer 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 .github pasta para ações do GitHub ou uma .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 do GitHub de Exemplo e arquivos de Pipelines de DevOps do Azure de Amostra para cada plataforma que você pode copiar para seu projeto e modificar conforme necessário.

  3. Talvez você também precise 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.