Udostępnij za pośrednictwem


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.

Zmiany w repozytorium GitHub wyzwalają akcję w celu utworzenia nowej poprawki.

Przepływ pracy funkcji GitHub Actions jest uruchamiany po zatwierdzeniu określonej gałęzi w repozytorium. Podczas konfigurowania przepływu pracy należy wybrać gałąź, która 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.

Dodaj

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

Uwaga

Zanim przejdziesz do podanego 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.