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.
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 appId
huvudnamn , password
och 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.