Share via


Configurar o GitHub Actions com a CLI do Azure no Azure Container Apps

Os Aplicativos de Contêiner do Azure permitem que você use as Ações do GitHub para publicar revisões em seu aplicativo de contêiner. À medida que as confirmações são enviadas por push para o repositório do GitHub, um fluxo de trabalho de Ações do GitHub é acionado que atualiza a imagem do contêiner no registro do contêiner . Depois que o contêiner é atualizado no Registro, os Aplicativos de Contêiner do Azure criam uma nova revisão com base na imagem de contêiner atualizada.

Changes to a GitHub repo trigger an action to create a new revision.

O fluxo de trabalho de Ações do GitHub é acionado por confirmações em uma ramificação específica em seu repositório. Ao criar o fluxo de trabalho, você decide qual ramificação aciona a ação.

Este artigo mostra como gerar um fluxo de trabalho inicial de Ações do GitHub com a CLI do Azure. Para criar seu próprio fluxo de trabalho que você pode personalizar totalmente, consulte Implantar em aplicativos de contêiner do Azure com ações do GitHub.

Autenticação

Ao adicionar ou remover uma integração de Ações do GitHub, você pode autenticar passando um token de acesso pessoal do GitHub ou usando a experiência de login interativa do GitHub. A experiência interativa abre um formulário no seu navegador e dá-lhe a oportunidade de iniciar sessão no GitHub. Uma vez autenticado com êxito, um token é passado de volta para a CLI usada pelo GitHub para o resto da sessão atual.

  • Para passar um token de acesso pessoal, use o parâmetro e forneça um valor de --token token.
  • Se você optar por usar o login interativo, use o --login-with-github parâmetro sem valor.

Nota

Seu token de acesso pessoal do GitHub precisa ter o workflow escopo selecionado.

Adicionar

O containerapp github-action add comando cria uma integração do GitHub Actions com seu aplicativo de contêiner.

Nota

Antes de prosseguir com o exemplo abaixo, você deve ter seu primeiro aplicativo de contêiner já implantado.

Na primeira vez que você anexar Ações do GitHub ao seu aplicativo de contêiner, precisará fornecer um contexto principal de serviço. O comando a seguir mostra como criar uma entidade de serviço.

az ad sp create-for-rbac \
  --name <SERVICE_PRINCIPAL_NAME> \
  --role "contributor" \
  --scopes /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>

À medida que você interage com este exemplo, substitua os espaços reservados cercados por <> seus valores.

Os valores de retorno desse comando incluem , appIdpassworde tenant. Você precisa passar esses valores para o az containerapp github-action add comando.

O exemplo a seguir mostra como adicionar uma integração ao usar um token de acesso pessoal.

az containerapp github-action add \
  --repo-url "https://github.com/<OWNER>/<REPOSITORY_NAME>" \
  --context-path "./dockerfile" \
  --branch <BRANCH_NAME> \
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --registry-url <URL_TO_CONTAINER_REGISTRY> \
  --registry-username <REGISTRY_USER_NAME> \
  --registry-password <REGISTRY_PASSWORD> \
  --service-principal-client-id <appId> \
  --service-principal-client-secret <password> \
  --service-principal-tenant-id <tenant> \
  --token <YOUR_GITHUB_PERSONAL_ACCESS_TOKEN>

À medida que você interage com este exemplo, substitua os espaços reservados cercados por <> seus valores.

Mostrar

O containerapp github-action show comando retorna as definições de configuração de Ações do GitHub para um aplicativo de contêiner.

Este exemplo mostra como adicionar uma integração ao usar o token de acesso pessoal.

az containerapp github-action show \
  --resource-group <RESOURCE_GROUP_NAME> \
  --name <CONTAINER_APP_NAME>

À medida que você interage com este exemplo, substitua os espaços reservados cercados por <> seus valores.

Este comando retorna uma carga JSON com as definições de configuração de integração do GitHub Actions.

Eliminar

O containerapp github-action delete comando remove as Ações do GitHub do aplicativo de contêiner.

az containerapp github-action delete \
  --resource-group <RESOURCE_GROUP_NAME> \
  --name <CONTAINER_APP_NAME> \
  --token <YOUR_GITHUB_PERSONAL_ACCESS_TOKEN>

À medida que você interage com este exemplo, substitua os espaços reservados cercados por <> seus valores.