Автоматизированное развертывание облачных ресурсов стало жизненно важной частью современных ИТ-операций. Использование таких инструментов, как 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, обеспечивая надежное и эффективное управление облачными ресурсами.