Пошаговое руководство: использование Visual Studio Team Services для развертывания шаблонов ARM

Опубликовано: 3 Марта, 2023
Пошаговое руководство: использование Visual Studio Team Services для развертывания шаблонов ARM

В этой статье мы собираемся развернуть шаблоны Azure Resource Manager с помощью Visual Studio Team Services, облачного инструмента Microsoft для разработчиков. Мы предполагаем, что у вас есть Visual Studio и учетная запись в Visual Studio Team Services, и выполняется синхронизация между вашим локальным репозиторием и VSTS. Если вы не уверены, мы рассмотрели все эти вопросы в нашей предыдущей статье на TechGenix.

Развертывание первого ресурса в шаблоне ARM

Предполагая, что мы начали с пустого шаблона, наш первый шаг — открыть Visual Studio, подключиться к и после подключения открыть существующий проект. Примечание. Если у вас его еще нет, создайте новый проект и выберите Azure Resource Group и Blank Template. Результатом будет три файла:

  • JSON: фактический файл JSON со всем кодом для развертывания ресурсов Azure.
  • параметры.json: файл со всеми ответами, определенными в разделе параметров файла .
  • ps1: сценарий PowerShell, который развертывает оба предыдущих файла с помощью PowerShell с рабочей станции.

Мы собираемся начать с открытия azuredeploy.json, и по умолчанию организация будет показана в середине изображенного изображения с четырьмя разделами: и . Если мы обратим внимание, эти же разделы представлены слева на вкладке , и мы можем использовать это для легкой навигации в нашем будущем файле JSON.

Создание первого ресурса с помощью Visual Studio

Администратор облака может запустить шаблон ARM несколькими способами. Мы можем получить это из нового развертывания на портале Microsoft Azure, некоторых шаблонов в Интернете (GitHub) или даже из Visual Studio.

Поскольку мы изучаем Visual Studio, давайте воспользуемся этим инструментом для создания некоторых базовых ресурсов, чтобы проиллюстрировать, что мы можем делать с помощью Visual Studio. Щелкните правой кнопкой мыши Ресурсы, расположенные на вкладке JSON Outline, и нажмите Добавить новый ресурс, из списка выберите Виртуальная сеть и пометьте ее. В нашем случае мы будем использовать UCBoxVNET171 и нажмем OK.

Результатом этого простого добавления будет некоторый код, добавленный в области переменных и ресурсов файла JSON. По умолчанию подсети имеют свои диапазоны IP-адресов и имена. Мы можем изменить это в файле JSON, чтобы он соответствовал нашей среде. Имейте в виду, что эта информация — это все, что нам нужно для развертывания виртуальной сети в Azure.

Простой способ развернуть этот файл JSON в Azure — щелкнуть правой кнопкой мыши проект/решение, расположенное на вкладке , а затем нажать «Развернуть», «Создать …».

В новом окне мы должны определить подписку, группу ресурсов (она может быть существующей или создать новую) и определить файлы (шаблон, который является azuredeploy.json, и параметры, которые по умолчанию azuredeploy.parameters.json). Нажмите «Развернуть».

Вся операция будет зарегистрирована в области , и мы сможем проверить, успешно ли развернут файл в группе ресурсов, которую мы создали на предыдущем шаге.

Несмотря на то, что сообщения внушают администратору облака большую уверенность, всегда полезно проверить результаты на портале Azure или с помощью PowerShell. На изображении ниже мы можем убедиться, что виртуальная сеть (подсети здесь не показаны, но они были развернуты) была успешно создана в Microsoft Azure.

Использование Visual Studio Team Services для развертывания шаблонов ARM

То, что мы только что сделали, полезно при пробных настройках или экспериментах с шаблоном, но есть более элегантный способ развертывания шаблонов ARM с помощью программного обеспечения Visual Studio и Visual Studio Team Services.

Первый шаг — войти на портал Visual Studio Team Services и открыть нужный проект (в нашем случае VNETProject), нажать Build and Release, а на новой странице нажать New Definition.

На следующей странице оставьте выбранным VSTS Git в , выберите текущий Team Project и выберите репозиторий для этого проекта (мы создали репозиторий под названием VNETProject). Нажмите «Продолжить». На новой странице нажмите на пустой процесс (первая ссылка сверху).

Добавьте задачу на , нажав кнопку +. Список всех доступных задач будет указан справа. Найдите Развертывание группы ресурсов Azure и нажмите Добавить.

Щелкните новое Развертывание Azure: создать или обновить группу ресурсов… слева. В правой части нам нужно заполнить информацию, выбрав подписку Azure, группы ресурсов, и мы выберем из текущего репозитория (с помощью кнопки ) два файла, сгенерированные в Visual Studio (azuredeploy.json и azuredeploy.parameters. json). Они уже были синхронизированы с Visual Studio Team Services. После внесения всех изменений нажмите «Сохранить и поставить в очередь», и появится новое диалоговое окно, позволяющее комментировать. Нажмите Сохранить, чтобы подтвердить изменения.

Последним шагом является включение непрерывной интеграции. Щелкните Триггеры и выберите проект (VNETProject) с левой стороны, обязательно включите параметр Включить непрерывную интеграцию. Нажмите «Сохранить и поставить в очередь » и «Сохранить».

Использование Visual Studio и непрерывная интеграция

Использование Visual Studio и непрерывной интеграции требует несколько иного процесса отправки нового кода в рабочую среду.

После внесения изменений в шаблон ARM нажмите Team Explorer и значок «Домой». Нажмите « Изменения», напишите описание изменений для дальнейшего использования, щелкните раскрывающийся список и выберите «Зафиксировать все и синхронизировать». (Этот процесс выполняет локальную синхронизацию, синхронизацию с VSTS и гарантирует, что данные одинаковы по обе стороны барьера.)

Примечание. У вас может быть лучший контроль с помощью Commit All, затем выполнения синхронизации и последней синхронизации, но в этом случае мы просто хотим убедиться, что данные одинаковы, и мы хотим, чтобы развертывание продолжалось.

Как только процесс синхронизации будет завершен, снова нажмите на значок дома и нажмите «Сборки». Под мы увидим, что сборка находится в процессе, и она была запущена нашей последней синхронизацией. Дважды щелкните по нему, чтобы узнать подробности.

Отобразится страница в Visual Studio Team Services, содержащая всю пошаговую информацию о текущей сборке, и с этого момента администратор облака сможет увидеть ход выполнения или любые возможные ошибки в текущем развертывании. Кроме того, результат сборки будет отправлен по электронной почте (если вы зарегистрированы в профиле VSTS) с результатами.

Заключительные заметки

Использование функции в Visual Studio Team Services снижает сложность, когда облачному администратору достаточно выполнить обновление и синхронизацию шаблонов ARM. VSTS позаботится о развертывании, и все шаги будут отслеживаться для дальнейшего использования. Имейте в виду, что VSTS был создан для команд, поэтому с помощью этого решения вы можете использовать все свои облачные ресурсы для создания команд в Microsoft Azure.

Есть несколько преимуществ использования Visual Studio вместо ручного развертывания в корпоративных средах, но больше всего мне нравятся командная работа, непрерывная интеграция и возможность отслеживать изменения.