Настройка GitHub Actions с помощью Azure CLI в приложениях-контейнерах Azure
Платформа "Контейнеры приложений Azure" позволяет использовать GitHub Actions для публикации исправлений в приложении-контейнере. При отправке фиксаций в репозиторий GitHub рабочий процесс GitHub Actions активируется, который обновляет образ контейнера в реестре контейнеров. После обновления контейнера в реестре решение "Контейнеры приложений Azure" создает новую редакцию на основе обновленного образа контейнера.
Рабочий процесс GitHub Actions выполняется при фиксации в определенной ветви в репозитории. При настройке рабочего процесса вы выбираете, какое ветвь активирует действие.
В этой статье показано, как создать начальный рабочий процесс GitHub Actions с помощью Azure CLI. Чтобы создать собственный рабочий процесс, который можно полностью настроить, см. статью "Развертывание в приложениях контейнеров Azure" с помощью GitHub Actions.
Проверка подлинности
При добавлении или удалении интеграции GitHub Actions можно пройти проверку подлинности, передав GitHub личный маркер доступа или используя интерактивный интерфейс входа GitHub. Интерактивный интерфейс открывает форму в веб-браузере и предоставляет возможность входа в GitHub. После успешной проверки подлинности маркер передается обратно в интерфейс командной строки, который используется GitHub в течение остальной части текущего сеанса.
- Чтобы передать личный маркер доступа, используйте параметр
--token
и укажите значение маркера. - Если вы решили использовать интерактивный вход, используйте параметр
--login-with-github
без значения.
Примечание.
Ваш личный маркер доступа GitHub должен иметь выбранную workflow
область.
Добавить
Команда containerapp github-action add
создает интеграцию GitHub Actions с приложением-контейнером.
Примечание.
Прежде чем продолжить работу с указанным примером, необходимо развернуть свое первое приложение контейнера.
При первом присоединении GitHub Actions к приложению-контейнеру необходимо предоставить контекст субъекта-службы. В следующей команде показано, как создать субъект-службу.
az ad sp create-for-rbac \
--name <SERVICE_PRINCIPAL_NAME> \
--role "contributor" \
--scopes /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>
При работе с этим примером замените заполнители, окруженные <>
, своими значениями.
Возвращаемые значения из этой команды включают субъект-службу appId
и password
tenant
. Эти значения необходимо передать команде az containerapp github-action add
.
В примере ниже показано, как добавить интеграцию при использовании личного маркера доступа.
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>
При работе с этим примером замените заполнители, окруженные <>
, своими значениями.
Показать
Команда containerapp github-action show
возвращает параметры конфигурации GitHub Actions для приложения-контейнера.
В этом примере показано, как добавить интеграцию при использовании личного маркера доступа.
az containerapp github-action show \
--resource-group <RESOURCE_GROUP_NAME> \
--name <CONTAINER_APP_NAME>
При работе с этим примером замените заполнители, окруженные <>
, своими значениями.
Эта команда возвращает полезные данные JSON с параметрами конфигурации интеграции GitHub Actions.
Удаление
Команда containerapp github-action delete
удаляет GitHub Actions из приложения-контейнера.
az containerapp github-action delete \
--resource-group <RESOURCE_GROUP_NAME> \
--name <CONTAINER_APP_NAME> \
--token <YOUR_GITHUB_PERSONAL_ACCESS_TOKEN>
При работе с этим примером замените заполнители, окруженные <>
, своими значениями.