Упражнение. Развертывание файла Bicep из рабочих процессов GitHub
Функция GitHub Actions по своей сути похожа на Azure Pipelines. Это способ автоматизации разработки и развертывания программного обеспечения. В этом упражнении вы узнаете, как развернуть файл Bicep с помощью действия GitHub.
Необходимые компоненты
- Вам потребуется учетная запись GitHub, которую можно создать бесплатно здесь.
- Репозиторий GitHub также необходим для хранения файла Bicep и рабочих процессов, созданных ранее в упражнении. Создание шаблонов Bicep. Создав репозиторий GitHub, отправьте в него файл Bicep.
- Для развертывания в Azure требуется доступ к подписке Azure, которую можно создать бесплатно здесь.
Создание субъекта-службы в Azure
Чтобы развернуть ресурсы в Azure, необходимо создать субъект-службу, который GitHub может использовать. Поэтому откройте терминал или используйте Cloud Shell на портале Azure и введите следующие команды:
az login
az ad sp create-for-rbac --name myApp --role contributor --scopes /subscriptions/{subscription-id}/resourceGroups/Bicep --sdk-auth
Примечание.
Обязательно укажите ваш идентификатор подписки.
После успешной операции он должен выводить объект JSON, содержащий ваши tenantId
, subscriptionId
clientId
clientSecret
и несколько других свойств, таких как ниже.
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
(...)
}
Обратите внимание, что этот объект необходимо добавить в секреты GitHub.
Создание секрета GitHub
В репозитории GitHub перейдите в раздел Параметры>Секреты>Действия. Создайте новый секрет с именем AZURE_CREDENTIALS
и вставьте весь объект JSON, полученный на предыдущем шаге.
Создайте еще один секрет для имени группы ресурсов с таким именем, как AZURE_RG
, и еще один для подписки.
Создание действия GitHub
Сначала перейдите в репозиторий и выберите меню "Действия". Затем настройте рабочий процесс для создания пустого рабочего процесса в репозитории. При желании вы можете переименовать файл.
Замените содержимое файла приведенным ниже фрагментом кода.
on: [push] name: Azure ARM jobs: build-and-deploy: runs-on: ubuntu-latest steps: # Checkout code - uses: actions/checkout@main # Log into Azure - uses: azure/login@v1 with: creds: ${{ secrets.AZURE_CREDENTIALS }} # Deploy Bicep file - name: deploy uses: azure/arm-deploy@v1 with: subscriptionId: ${{ secrets.AZURE_SUBSCRIPTION }} resourceGroupName: ${{ secrets.AZURE_RG }} template: ./main.bicep parameters: storagePrefix=stg failOnStdErr: false
Вы можете заменить префикс учетной записи хранения собственным.
Примечание.
Первая часть рабочего процесса определяет триггер и его имя. Остальные части определяют задание и используют несколько задач для извлечения кода, входа в Azure и развертывания Bicep-файла.
Выберите Начать фиксацию и введите название и описание во всплывающем диалоговом окне. Затем выберите Выполнить фиксацию напрямую в главную ветвь, а затем Зафиксировать новый файл.
Перейдите на вкладку "Действия" и выберите только что созданное действие, которое должно выполняться.
Отслеживайте состояние и по завершении задания проверьте портал Azure, чтобы узнать, создана ли учетная запись хранения.