Compartilhar via


Início Rápido: compilar e implantar do código-fonte local nos Aplicativos de Contêiner do Azure

Este artigo demonstra como criar e implantar um microsserviço nos Aplicativos de Contêiner do Azure de um código-fonte local usando a linguagem de programação de sua escolha. Neste início rápido, você vai criar um serviço de API Web de back-end que retorna uma coleção estática de álbuns de música.

Observação

Este aplicativo de exemplo está disponível em duas versões. Uma versão em que a origem contém um Dockerfile. A outra versão não tem Dockerfile. Selecione a versão que melhor reflete seu código-fonte. Se você for novo em contêineres, selecione a opção Sem Dockerfile na parte superior.

A captura de tela a seguir mostra a saída da API do álbum implatado.

Captura de tela da resposta do ponto de extremidade da API de álbuns.

Pré-requisitos

Para concluir este projeto, você precisa dos seguintes itens:

Requisito Instruções
Conta do Azure Se você não tiver, crie uma conta gratuita. Você precisa da permissão de Colaborador ou Proprietário na assinatura do Azure para continuar.

Consulte Atribuir funções do Azure usando o portal do Azure para obter detalhes.
CLI do Azure Instale a CLI do Azure.

Instalação

Para entrar no Azure usando a CLIl, execute o comando a seguir e siga os prompts para concluir o processo de autenticação.

az login

Para garantir que você esteja executando a versão mais recente da CLI, execute o comando “upgrade”.

az upgrade

Em seguida, instale ou atualize a extensão dos Aplicativos de Contêiner do Azure para a CLI.

Se você receber erros sobre parâmetros ausentes ao executar comandos az containerapp na CLI do Azure ou cmdlets do módulo Az.App no Azure PowerShell, verifique se está com a versão mais recente da extensão Aplicativos de Contêiner do Azure instalada.

az extension add --name containerapp --upgrade

Observação

A partir de maio de 2024, as extensões da CLI do Azure já não permitem funcionalidades de versão prévia do recurso por padrão. Para acessar as versões prévias dos recursos dos Aplicativos de Contêiner, instale a extensão Aplicativos de Contêiner com --allow-preview true.

az extension add --name containerapp --upgrade --allow-preview true

Agora que a extensão ou módulo atual está instalado, registre os namespaces Microsoft.App e Microsoft.OperationalInsights.

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

Criar variáveis de ambiente

Agora que a configuração da CLI do Azure foi concluída, você pode definir as variáveis de ambiente que são usadas ao longo deste artigo.

Defina as variáveis a seguir no shell bash.

export RESOURCE_GROUP="album-containerapps"
export LOCATION="canadacentral"
export ENVIRONMENT="env-album-containerapps"
export API_NAME="album-api"

Obter o código de exemplo

Baixe e extraia o aplicativo de exemplo de API no idioma de sua escolha.

Baixe o código-fonte para o computador.

Extraia o download e altere para a pasta containerapps-albumapi-csharp-main/src.

Baixe o código-fonte para o computador.

Extraia o download e altere para a pasta containerapps-albumapi-csharp-buildpack/src.


Compilar e implantar o aplicativo de contêiner

Compile e implante o seu primeiro aplicativo de contêiner com o comando containerapp up. Este comando vai:

  • Criar o grupo de recursos
  • Criar um Registro de Contêiner do Azure
  • Compilar a imagem de contêiner e efetuá-la por push para o registro
  • Criar o ambiente de Aplicativos de Contêiner com um workspace do Log Analytics
  • Compilar e implantar o aplicativo de contêiner usando uma imagem de contêiner público
  • Criar o grupo de recursos
  • Criar um registro padrão como parte do seu ambiente
  • Detectar o idioma e o runtime do aplicativo e criar a imagem usando o Buildpack apropriado
  • Enviar a imagem por push para o registro padrão dos Aplicativos de Contêiner do Azure
  • Criar o ambiente de Aplicativos de Contêiner com um workspace do Log Analytics
  • Compilar e implantar o aplicativo de contêiner usando uma imagem de contêiner público

O comando up usa o Dockerfile na raiz do repositório para criar a imagem de contêiner. A instrução EXPOSE no Dockerfile definiu a porta de destino, que é a porta usada para enviar o tráfego de entrada para o contêiner.

Se o comando up não encontrar um Dockerfile, ele usará os Buildpacks automaticamente para transformar a origem do aplicativo em um contêiner executável. Como o Buildpack está tentando executar o build em seu nome, você precisa informar ao comando up para qual porta enviar tráfego de entrada.

No exemplo de código a seguir, o . (ponto) informa ao containerapp up para ser executado no diretório atual do aplicativo de API de exemplo extraído.

az containerapp up \
  --name $API_NAME \
  --location $LOCATION \
  --environment $ENVIRONMENT \
  --source .
az containerapp up \
  --name $API_NAME \
  --location $LOCATION \
  --environment $ENVIRONMENT \
  --ingress external \
  --target-port 8080 \
  --source .

Importante

Para implantar seu aplicativo de contêiner em um grupo de recursos existente, inclua --resource-group yourResourceGroup no comando containerapp up.

Verificar a implantação

Copie o FQDN para um navegador da Web. No navegador da Web, vá até o ponto de extremidade /albums do FQDN.

Captura de tela da resposta do ponto de extremidade da API de álbuns.

Limites

O tamanho máximo para carregar o código-fonte é de 200 MB. Se o carregamento ultrapassar o limite, o erro 413 será retornado.

Limpar os recursos

Se você não pretende continuar no tutorial Implantar um front-end, remova os recursos do Azure criados durante este início rápido com o comando a seguir.

Cuidado

O comando a seguir exclui o grupo de recursos especificado e todos os recursos contidos nele. Se o grupo contiver recursos fora do escopo deste início rápido, eles também serão excluídos.

az group delete --name $RESOURCE_GROUP

Dica

Está enfrentando problemas? Deixe-nos saber sobre GitHub abrindo um problema no repositório dos Aplicativos de Contêiner do Azure.

Próximas etapas

Depois de concluir este início rápido, você pode continuar no Tutorial: Comunicação entre microsserviços nos Aplicativos de Contêiner do Azure para saber como implantar um aplicativo de front-end que chama a API.