Konfigurowanie GitHub Actions za pomocą interfejsu wiersza polecenia platformy Azure w usłudze Azure Container Apps

Usługa Azure Container Apps umożliwia publikowanie poprawek w aplikacji kontenera przy użyciu funkcji GitHub Actions. W miarę wypychania zatwierdzeń do repozytorium GitHub wyzwalany jest przepływ pracy funkcji GitHub Actions, który aktualizuje obraz kontenera w rejestrze kontenerów. Po zaktualizowaniu kontenera w rejestrze usługa Azure Container Apps tworzy nową poprawkę na podstawie zaktualizowanego obrazu kontenera.

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

Przepływ pracy funkcji GitHub Actions jest wyzwalany przez zatwierdzenia do określonej gałęzi w repozytorium. Podczas tworzenia przepływu pracy decydujesz, która gałąź wyzwala akcję.

W tym artykule pokazano, jak wygenerować początkowy przepływ pracy funkcji GitHub Actions za pomocą interfejsu wiersza polecenia platformy Azure. Aby utworzyć własny przepływ pracy, który można w pełni dostosować, zobacz Wdrażanie w usłudze Azure Container Apps za pomocą funkcji GitHub Actions.

Uwierzytelnianie

Podczas dodawania lub usuwania integracji funkcji GitHub Actions możesz uwierzytelnić się, przekazując osobisty token dostępu usługi GitHub lub korzystając z interaktywnego środowiska logowania w usłudze GitHub. Środowisko interaktywne otwiera formularz w przeglądarce internetowej i umożliwia zalogowanie się do usługi GitHub. Po pomyślnym uwierzytelnieniu token jest przekazywany z powrotem do interfejsu wiersza polecenia używanego przez usługę GitHub w pozostałej części bieżącej sesji.

  • Aby przekazać osobisty token dostępu, użyj parametru --token i podaj wartość tokenu.
  • Jeśli zdecydujesz się używać logowania interakcyjnego, użyj parametru --login-with-github bez wartości.

Uwaga

Osobisty token dostępu usługi GitHub musi mieć workflow wybrany zakres.

Add

Polecenie containerapp github-action add tworzy integrację funkcji GitHub Actions z aplikacją kontenera.

Uwaga

Zanim przejdziesz do poniższego przykładu, musisz mieć już wdrożona pierwszą aplikację kontenera.

Przy pierwszym dołączaniu funkcji GitHub Actions do aplikacji kontenera należy podać kontekst jednostki usługi. Poniższe polecenie pokazuje, jak utworzyć jednostkę usługi.

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

Podczas interakcji z tym przykładem zastąp symbole zastępcze otoczone <> wartościami.

Wartości zwracane z tego polecenia obejmują jednostki appIdusługi , passwordi tenant. Te wartości należy przekazać do az containerapp github-action add polecenia .

W poniższym przykładzie pokazano, jak dodać integrację podczas korzystania z osobistego tokenu dostępu.

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>

Podczas interakcji z tym przykładem zastąp symbole zastępcze otoczone <> wartościami.

Pokaż

Polecenie containerapp github-action show zwraca ustawienia konfiguracji funkcji GitHub Actions dla aplikacji kontenera.

W tym przykładzie pokazano, jak dodać integrację podczas korzystania z osobistego tokenu dostępu.

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

Podczas interakcji z tym przykładem zastąp symbole zastępcze otoczone <> wartościami.

To polecenie zwraca ładunek JSON z ustawieniami konfiguracji integracji funkcji GitHub Actions.

Delete

Polecenie containerapp github-action delete usuwa funkcję GitHub Actions z aplikacji kontenera.

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

Podczas interakcji z tym przykładem zastąp symbole zastępcze otoczone <> wartościami.