Civil &: строительная инженерия
Автоматическое развертывание Azure Ресурсы с Github Actions
Table of Contents
Автоматизированное развертывание облачных ресурсов стало жизненно важной частью современных ИТ-операций. Использование таких инструментов, как GitHub Actions для развертывания ресурсов Azure, упрощает рабочие процессы, уменьшает ручные ошибки и ускоряет доставку проектов. В этой статье рассматривается, как реализовать автоматизированное развертывание ресурсов Azure с помощью GitHub Actions.
Понимание основ
GitHub Actions — это платформа непрерывной интеграции и непрерывного развертывания (CI/CD), которая позволяет разработчикам автоматизировать рабочие процессы непосредственно в своих репозиториях GitHub. Azure, облачная платформа Microsoft, предлагает множество ресурсов, таких как виртуальные машины, базы данных и службы приложений, которые могут быть предоставлены автоматически через скрипты и API.
Предпосылки
- Учетная запись Azure с необходимыми разрешениями
- Репозиторий GitHub для вашего проекта
- Azure CLI установлен локально для первоначальной настройки
- Руководитель службы с ролью участника, назначенной в Azure
Обновление Azure Service Principal
Во-первых, создайте Принципал Сервиса, чтобы позволить GitHub Actions аутентифицироваться с Azure. Используйте Azure CLI:
В этом случае, в этом случае, следует указать на то, что appId , password и tenant .
Конфигурация GitHub Secrets
Перейдите в репозиторий GitHub, затем перейдите в Настройки > Секреты > Действия. Добавьте следующие секреты:
- AZURE CLIENT ID: ваше приложение
- AZURE SECRET: ваш пароль
- AZURE TENANT ID: ваш арендатор
- AZURE SUBSCRIPTION ID: ваш идентификатор подписки
Создание рабочего процесса GitHub Actions
В вашем репозитории создайте новый файл рабочего процесса в соответствии с FLT:1. Этот файл будет определять шаги для автоматического развертывания ресурсов Azure.
name: Deploy Azure Resources
on:
push:
branches:
- main
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Login to Azure
uses: azure/login@v1
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
client-secret: ${{ secrets.AZURE_SECRET }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
- name: Deploy Resources
run: |
az account set --subscription ${{ secrets.AZURE_SUBSCRIPTION_ID }}
az deployment group create \
--resource-group myResourceGroup \
--template-file azuredeploy.json \
--parameters @azuredeploy.parameters.json
Этот рабочий процесс входит в Azure и развертывает ресурсы на основе ваших шаблонов ARM. Вы можете настроить команды развертывания в соответствии с вашими конкретными потребностями в предоставлении ресурсов.
Преимущества автоматического развертывания
- Последовательное и повторяемое развертывание
- Более быстрое предоставление ресурсов
- Уменьшение ручных ошибок
- Улучшение сотрудничества и отслеживания
Внедрение автоматизированных конвейеров развертывания с помощью GitHub Actions и Azure значительно улучшает практику DevOps, обеспечивая надежное и эффективное управление облачными ресурсами.