Share via


Configurare GitHub Actions con l'interfaccia della riga di comando di Azure in App contenitore di Azure

App Azure Container consente di usare GitHub Actions per pubblicare revisioni nell'app contenitore. Quando i commit vengono inseriti nel repository GitHub, viene attivato un flusso di lavoro di GitHub Actions che aggiorna l'immagine del contenitore nel registro contenitori. Dopo aver aggiornato il contenitore nel Registro di sistema, App Azure Container crea una nuova revisione in base all'immagine del contenitore aggiornata.

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

Il flusso di lavoro di GitHub Actions viene attivato da commit in un ramo specifico nel repository. Quando si crea il flusso di lavoro, si decide quale ramo attiva l'azione.

Questo articolo illustra come generare un flusso di lavoro GitHub Actions iniziale con l'interfaccia della riga di comando di Azure. Per creare un flusso di lavoro personalizzato che è possibile personalizzare completamente, vedere Deploy to Azure Container Apps with GitHub Actions (Distribuire app di Azure Container con GitHub Actions).

Authentication

Quando si aggiunge o rimuove un'integrazione di GitHub Actions, è possibile eseguire l'autenticazione passando un token di accesso personale gitHub o usando l'esperienza di accesso interattiva di GitHub. L'esperienza interattiva apre un modulo nel Web browser e offre la possibilità di accedere a GitHub. Dopo l'autenticazione, un token viene passato di nuovo all'interfaccia della riga di comando usata da GitHub per il resto della sessione corrente.

  • Per passare un token di accesso personale, usare il --token parametro e fornire un valore del token.
  • Se si sceglie di usare l'account di accesso interattivo, usare il --login-with-github parametro senza valore.

Nota

Il token di accesso personale di GitHub deve avere selezionato l'ambito workflow .

Aggiunta

Il containerapp github-action add comando crea un'integrazione di GitHub Actions con l'app contenitore.

Nota

Prima di procedere con l'esempio seguente, è necessario che la prima app contenitore sia già distribuita.

La prima volta che si collega GitHub Actions all'app contenitore, è necessario fornire un contesto dell'entità servizio. Il comando seguente illustra come creare un'entità servizio.

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

Quando si interagisce con questo esempio, sostituire i segnaposto racchiusi tra <> i valori.

I valori restituiti da questo comando includono , e tenantdell'entità appIdpasswordservizio. È necessario passare questi valori al az containerapp github-action add comando .

L'esempio seguente illustra come aggiungere un'integrazione usando un token di accesso personale.

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>

Quando si interagisce con questo esempio, sostituire i segnaposto racchiusi tra <> i valori.

Mostra

Il containerapp github-action show comando restituisce le impostazioni di configurazione di GitHub Actions per un'app contenitore.

Questo esempio illustra come aggiungere un'integrazione usando il token di accesso personale.

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

Quando si interagisce con questo esempio, sostituire i segnaposto racchiusi tra <> i valori.

Questo comando restituisce un payload JSON con le impostazioni di configurazione dell'integrazione di GitHub Actions.

Eliminazione

Il containerapp github-action delete comando rimuove GitHub Actions dall'app contenitore.

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

Quando si interagisce con questo esempio, sostituire i segnaposto racchiusi tra <> i valori.