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.
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 appId
usługi , password
i 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.