Dela via


Konfigurera GitHub Actions med Azure CLI i Azure Container Apps

Med Azure Container Apps kan du använda GitHub Actions för att publicera revisioner till din containerapp. När incheckningar skickas till din GitHub-lagringsplats utlöses ett GitHub Actions-arbetsflöde som uppdaterar containeravbildningen i containerregistret. När containern har uppdaterats i registret skapar Azure Container Apps en ny revision baserat på den uppdaterade containeravbildningen.

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

GitHub Actions-arbetsflödet utlöses av incheckningar till en specifik gren på lagringsplatsen. När du skapar arbetsflödet bestämmer du vilken gren som utlöser åtgärden.

Den här artikeln visar hur du genererar ett GitHub Actions-startarbetsflöde med Azure CLI. Information om hur du skapar ett eget arbetsflöde som du kan anpassa helt och hållet finns i Distribuera till Azure Container Apps med GitHub Actions.

Autentisering

När du lägger till eller tar bort en GitHub Actions-integrering kan du autentisera genom att antingen skicka in en personlig GitHub-åtkomsttoken eller använda den interaktiva GitHub-inloggningsupplevelsen. Den interaktiva upplevelsen öppnar ett formulär i webbläsaren och ger dig möjlighet att logga in på GitHub. När du har autentiserats skickas en token tillbaka till CLI som används av GitHub under resten av den aktuella sessionen.

  • Om du vill skicka en personlig åtkomsttoken använder du parametern --token och anger ett tokenvärde.
  • Om du väljer att använda interaktiv inloggning använder du parametern --login-with-github utan värde.

Kommentar

Din personliga GitHub-åtkomsttoken måste ha valt workflow omfång.

Lägg till

Kommandot containerapp github-action add skapar en GitHub Actions-integrering med din containerapp.

Kommentar

Innan du fortsätter med exemplet nedan måste du ha din första containerapp redan distribuerad.

Första gången du kopplar GitHub Actions till din containerapp måste du ange en kontext för tjänstens huvudnamn. Följande kommando visar hur du skapar ett huvudnamn för tjänsten.

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

När du interagerar med det här exemplet ersätter du platshållarna som omges av <> med dina värden.

Returvärdena från det här kommandot inkluderar tjänstens appIdhuvudnamn , passwordoch tenant. Du måste skicka dessa värden till az containerapp github-action add kommandot.

I följande exempel visas hur du lägger till en integrering när du använder en personlig åtkomsttoken.

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>

När du interagerar med det här exemplet ersätter du platshållarna som omges av <> med dina värden.

Visa

Kommandot containerapp github-action show returnerar konfigurationsinställningarna för GitHub Actions för en containerapp.

Det här exemplet visar hur du lägger till en integrering när du använder den personliga åtkomsttoken.

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

När du interagerar med det här exemplet ersätter du platshållarna som omges av <> med dina värden.

Det här kommandot returnerar en JSON-nyttolast med konfigurationsinställningarna för GitHub Actions-integrering.

Delete

Kommandot containerapp github-action delete tar bort GitHub Actions från containerappen.

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

När du interagerar med det här exemplet ersätter du platshållarna som omges av <> med dina värden.