Демистифицирующие шаблоны руки (12 части серии)
Если вам нужна инфраструктура в качестве кода для Azure, шаблоны ARM являются чрезвычайно мощным и гибким решением. Эта сила и гибкость становится еще более впечатляющей, когда вы добавите IAC в ваши трубопроводы CI/CD.
Некоторые ключевые преимущества:
- Наличие вашей инфраструктуры в качестве кода (IAC) прямо рядом с вашим исходным кодом означает, что все версимо
- Изменения инфраструктуры могут быть рассмотрены с тем же процессом запроса на тягу в качестве кода приложения
- Возможность пойти от ничего в лазуре, в полностью предоставленную и сконфигурированную среду в Azure, а затем развертывание вашего приложения в эту среду бесценно
- Защита от дрейфа конфигурации в последующих релизах является потрясающим
Azure DEVOPS — DEVOPS LAB — Видео
Разверните полный шаблон ARM, используя действия GitHub
Действия GitHub — это рабочий процесс GitHub, где вы можете автоматизировать все виды вещей, включая CI/CD. Очень основное объяснение действий — это задача, который делает одно задание за другим за другим. Задачи в Действиях GitHub называются действиями.
Вне коробки Github приходит с кучей действий, которые делают всевозможные вещи. Существует также рынок, где сообщество создало действия, люди могут просто использовать и использовать. Вы даже можете написать свои собственные пользовательские действия. И вы можете запустить команды из командной строки, используя Bash или PowerShell.
Создавать яхл
Общая стратегия, которую я использую при построении моих трубопроводов CI/CD, как бы я сделал это полностью из командной строки.
Сначала, параллельно, я бы построил свое приложение, а также предоставило ресурсы, которые мне нужны в Лазуре. А потом, когда оба здания моего приложения и обеспечение моей среды были сделаны, я бы развернул мое приложение.
Исходя из этого, мой YAML должен иметь 3 рабочих места, работа по сборке и рабочую задачу, работающие параллельно. И развертывание задания, которая ждет как сборку, так и развертывание задания для завершения.
name: DevOps Lab ARM Demo - CICD on: push: workflow_dispatch: jobs: build: ... provisionAndConfigure: ... deploy: needs: [build, provisionAndConfigure] ...
Предоставление и настроить работу
Для этого учебника мы будем сосредоточиться на задании ProvisionandConfigure. Вот где мы обеспечиваем и настраиваем нашу инфраструктуру в Azure, используя наш шаблон руки.
На момент съемки этого видео не было никаких развертывающих действий Github Manager Manager Manager Manager. Тактика, которую я использовал, снова спрашивал себя, как бы я сделал это из командной строки. И ответ на это был с помощью Azure CLI. Azure CLI предварительно установлен на бегунов GitHub, поэтому это должно быть легким ореховым правом?
Примечание. Microsoft Очень недавно опубликовала свои действия GitHub для развертывания шаблонов ARM. Если бы я выполнял это видео сегодня, я бы использовал шаблоны диспетчера Reply Azure Resource, используя действия GitHub, опубликованные Microsoft.
Все, что сказано, чтобы использовать Azure CLI для развертывания шаблона руки, мне нужно 2 вещи:
- Шаблон руки, описывающий мою среду
- Главный сервис, чтобы войти в систему с
Демо-окружающая среда состоит из плана обслуживания приложений и приложений в Azure. Вот шаблон руки, который описывает эту среду. Для демонстрации, этот шаблон ARM сидел на ~/развертываю/ARM/TT-IACSSON.
Я Создан принцип службы используя Azure CLI. Это вернуло меня:
- Обладанное имя сервиса — http://abeldemosubScrientsp
- Сервис главный арендатор — 72F988BF-86F1-41AF-91AB-2D7CD011DB47
- Сервис главный секрет — какой-то случайно созданный GUID.
Я добавил основной секрет сервиса на раздел секретов проекта GitHub с именем Service_Principal_Secret.
Вот мой ямл
provisionAndConfigure: runs-on: ubuntu-latest steps: # checkout code from repo - name: Checkout code uses: actions/checkout@v1 # provision and configure infrastructure using azure cli deploying arm template - name: Deploy ARM template env: SERVICE_PRINCIPAL: http://AbelDemoSubscriptionSP SERVICE_PRINCIPAL_TENANT: 72f988bf-86f1-41af-91ab-2d7cd011db47 RESOURCE_GROUP: DevOpsLabARMDemoRG WEB_APP_NAME: devopslabtt LOCATION: "westus" ARM_FILE: ./Deploy/ARM/tt-iac.json run: | az login \ --service-principal \ --username ${SERVICE_PRINCIPAL} \ --password ${{ secrets.SERVICE_PRINCIPAL_SECRET }} \ --tenant ${SERVICE_PRINCIPAL_TENANT} az deployment sub create \ --location ${LOCATION} \ --template-file ${ARM_FILE} \ --parameters webAppName=${WEB_APP_NAME} name=${RESOURCE_GROUP}
Используя бегун Ubuntu, я делаю следующее
Оформить заказ мой код для моего репо. Это так, что я загружаю шаблон ARM из элемента управления источником на бегун, чтобы я мог использовать этот шаблон ARM для обеспечения моего инфраструктурного.
Разверните шаблон моей руки, используя Azure CLI из командной строки.
- Создать переменные среды для удержания
- Обладающее имя сервиса
- Сервис главный арендатор
- Имя группы ресурсов Azure
- Название веб-приложения
- Место нахождения
- Путь к файлу ARM
- Используйте Azure CLI
- Войдите в Azure с моим руководителем службы
- Разверните шаблон моей руки
- Создать переменные среды для удержания
Заключение
Действия GitHub — это отличный двигатель автоматизации рабочего процесса внутри GitHub, где мы можем автоматизировать всевозможные вещи, включая CI/CD. Из-за простоты использования командной строки команд с действиями, супер легко использовать Azure CLI, чтобы делать все необходимые задачи Azure-Y, включая развертывание шаблонов руки с использованием действий GitHub.
ПРИМЕЧАНИЕ. Опять же, с недавно опубликованным шаблоном шаблона руки в Microsoft я бы полностью использовал тех, кто развернут шаблоны моей руки. Тем не менее, эта техника использования Azure CLI и принципов услуг по-прежнему является очень ценной техникой, которая может использоваться, чтобы сделать все необходимые задачи типа Azure-Y.
Автор: Авель Ван
использованная литература
- Azure Cli.
- Установите Azure CLI
- Директор по обслуживанию
- Создание руководителя обслуживания
- Войдите в Azure CLI с руководителем службы
- Развертывание шаблона рычага с помощью Azure CLI
- Действия Github Miclets развертывания Microsoft
- Github Resources
Демистифицирующие шаблоны руки (12 части серии)
Оригинал: «https://dev.to/azure/demystifying-arm-templates-github-actions-with-arm-templates-4609»