Freigeben über


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.

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

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.