Einrichten von GitHub Actions mit der Azure CLI in Azure Container Apps
Mit Azure Container Anwendungen können Sie GitHub-Aktionen verwenden, um Revisionen in Ihrer Container-Anwendung zu veröffentlichen. Wenn Commits per Push an Ihr GitHub-Repository übertragen werden, wird ein GitHub Actions-Workflow ausgelöst, der das Containerimage in der Containerregistrierung aktualisiert. Nachdem der Container in der Registrierung aktualisiert wurde, erstellen die Azure Container Anwendungen eine neue Revision basierend auf dem aktualisierten Containerimage.
Der GitHub Actions-Workflow wird durch Commits in einen bestimmten Branch in Ihrem Repository ausgelöst. Beim Erstellen des Workflows entscheiden Sie, welcher Branch die Aktion auslöst.
In diesem Artikel erfahren Sie, wie Sie mit der Azure CLI einen GitHub Actions-Workflow für den Einstieg generieren. Informationen zum Erstellen eines eigenen Workflows, den Sie vollständig anpassen können, finden Sie unter Bereitstellung in Azure Container Apps mit GitHub Actions.
Authentifizierung
Wenn Sie eine GitHub-Aktions-Integration hinzufügen oder entfernen, können Sie sich authentifizieren, indem Sie entweder ein persönliches GitHub-Zugriffstoken übergeben oder die interaktive GitHub-Anmeldung verwenden. Die interaktive Benutzeroberfläche öffnet ein Formular in Ihrem Webbrowser und bietet Ihnen die Möglichkeit, sich bei GitHub anzumelden. Nach erfolgreicher Authentifizierung wird ein Token an die CLI übergeben, das von GitHub für den Rest der aktuellen Sitzung verwendet wird.
- Verwenden Sie zum Übergeben eines persönlichen Zugriffstokens den Parameter
--token
und geben Sie einen Tokenwert an. - Wenn Sie die interaktive Anmeldung verwenden möchten, verwenden Sie den Parameter
--login-with-github
ohne Wert.
Hinweis
Für Ihr persönliches GitHub-Zugriffstoken muss der Bereich workflow
ausgewählt sein.
Hinzufügen
Der Befehl containerapp github-action add
erstellt eine GitHub-Aktions-Integration in Ihrer Container-Anwendung.
Hinweis
Bevor Sie mit dem folgenden Beispiel fortfahren, müssen Sie ihre erste Container-App bereits bereitgestellt haben.
Wenn Sie GitHub-Aktionen zum ersten Mal an Ihre Container-Anwendung anfügen, müssen Sie einen Dienstprinzipalkontext bereitstellen. Die folgende Anweisung zeigt Ihnen, wie Sie einen Dienstprinzipal erstellen.
az ad sp create-for-rbac \
--name <SERVICE_PRINCIPAL_NAME> \
--role "contributor" \
--scopes /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>
Ersetzen Sie bei der Interaktion mit diesem Beispiel die Platzhalter, die von <>
umschlossen sind, durch Ihre Werte.
Der Rückgabewert dieses Befehls enthält die Werte appId
, password
und tenant
für den Dienstprinzipal. Sie müssen diese Werte an den Befehl az containerapp github-action add
übergeben.
Das folgende Beispiel zeigt, wie Sie eine Integration unter Verwendung eines persönlichen Zugriffstokens hinzufügen.
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>
Ersetzen Sie bei der Interaktion mit diesem Beispiel die Platzhalter, die von <>
umschlossen sind, durch Ihre Werte.
Anzeigen
Der Befehl containerapp github-action show
gibt die GitHub Actions-Konfigurationseinstellungen für eine Containeranwendung zurück.
In diesem Beispiel wird gezeigt, wie Sie eine Integration unter Verwendung des persönlichen Zugriffstokens hinzufügen.
az containerapp github-action show \
--resource-group <RESOURCE_GROUP_NAME> \
--name <CONTAINER_APP_NAME>
Ersetzen Sie bei der Interaktion mit diesem Beispiel die Platzhalter, die von <>
umschlossen sind, durch Ihre Werte.
Dieser Befehl gibt JSON-Nutzdaten mit den Konfigurationseinstellungen für die GitHub-Aktions-Integration zurück.
Delete
Der Befehl containerapp github-action delete
entfernt die GitHub-Aktionen aus der Container-Anwendung.
az containerapp github-action delete \
--resource-group <RESOURCE_GROUP_NAME> \
--name <CONTAINER_APP_NAME> \
--token <YOUR_GITHUB_PERSONAL_ACCESS_TOKEN>
Ersetzen Sie bei der Interaktion mit diesem Beispiel die Platzhalter, die von <>
umschlossen sind, durch Ihre Werte.