Поделиться через


Руководство по непрерывной интеграции шаблонов ARM с Azure Pipelines

В предыдущем руководстве вы развернете связанный шаблон. В этом руководстве описано, как использовать Azure Pipelines для непрерывного создания и развертывания проектов шаблона Azure Resource Manager (шаблона ARM).

Azure DevOps предоставляет службы разработчиков группам поддержки для планирования работы, коллективной работы над разработкой кода, а также для создания и развертывания приложений. Разработчики могут работать в облаке с помощью Azure DevOps Services. Azure DevOps предоставляет интегрированный набор функций, которые можно получить через веб-браузер или клиент интегрированной среды разработки. Azure Pipelines — это одна из этих функций. Azure Pipelines — это полностью многофункциональная служба непрерывной интеграции (CI) и непрерывной доставки (CD). Он работает с предпочитаемым поставщиком Git и может развертываться в большинстве основных облачных служб. Затем можно автоматизировать сборку, тестирование и развертывание кода в Microsoft Azure, Google Cloud Platform или Amazon Web Services.

Замечание

Выберите имя проекта. При выполнении руководства замените любой из ARMPipelineProj именем проекта. Это название проекта используется для генерации имен ресурсов. Одним из ресурсов является учетная запись хранения. Имена учетных записей хранения должны быть от 3 до 24 символов длиной и использовать только цифры и строчные буквы. Имя должно быть уникальным. В шаблоне имя учетной записи хранения — это имя проекта с добавленным хранилищем , а имя проекта должно составлять от 3 до 11 символов. Поэтому имя проекта должно соответствовать требованиям к имени учетной записи хранения и имеет менее 11 символов.

В рамках этого руководства рассматриваются следующие задачи:

  • Подготовка репозитория GitHub
  • Создание проекта Azure DevOps
  • Создание конвейера Azure
  • Проверка развертывания конвейера
  • Обновление шаблона и повторное развертывание
  • Очистите ресурсы

Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.

Предпосылки

Для работы с этой статьей необходимо иметь следующее.

Подготовка репозитория GitHub

GitHub используется для хранения исходного кода проекта, включая шаблоны Resource Manager. Дополнительные сведения о поддерживаемых репозиториях см. в репозиториях, поддерживаемых Azure DevOps.

Создание репозитория GitHub

Если у вас нет учетной записи GitHub, см. предварительные требования.

  1. Войдите в GitHub.

  2. Выберите изображение учетной записи в правом верхнем углу и выберите репозитории.

    Снимок экрана: создание репозитория GitHub для Azure Resource Manager Azure DevOps Azure Pipelines.

  3. Нажмите кнопку "Создать", зеленую кнопку.

  4. В имени репозитория введите имя репозитория. Например, ARMPipeline-repo. Не забудьте заменить любой из ARMPipeline именем проекта. Вы можете выбрать общедоступный или закрытый для прохождения этого руководства. Затем выберите "Создать репозиторий".

  5. Запишите URL-адрес. URL-адрес репозитория — следующий формат. https://github.com/[YourAccountName]/[YourRepositoryName]

Этот репозиторий называется удаленным репозиторием. Каждый из разработчиков одного проекта может клонировать собственный локальный репозиторий и объединить изменения в удаленный репозиторий.

Клонирование удаленного репозитория

  1. Откройте оболочку Git или Git Bash. См. раздел Предварительные требования.

  2. Убедитесь, что текущая папка — GitHub.

  3. Выполните следующую команду:

    git clone https://github.com/[YourAccountName]/[YourGitHubRepositoryName]
    cd [YourGitHubRepositoryName]
    mkdir create_web_app
    cd create_web_app
    pwd
    

    Замените [YourAccountName] на имя учетной записи GitHub и замените [YourGitHubRepositoryName] имя репозитория, созданное в предыдущей процедуре.

Папка create_web_app — это папка, в которой хранится шаблон. Команда pwd показывает путь к папке. Путь — это место, куда сохраняется шаблон в следующей процедуре.

Скачивание шаблона быстрого запуска

Вместо создания шаблонов можно скачать шаблоны и сохранить их в папке create_web_app .

Имя папки и имена файлов используются так, как они есть в пайплайне. При изменении этих имен необходимо обновить имена, используемые в конвейере.

Отправка шаблона в удаленный репозиторий

azuredeploy.json добавлен в локальный репозиторий. Затем вы отправите шаблон в удаленный репозиторий.

  1. Откройте оболочку Git или Git Bash, если она не открыта.

  2. Измените каталог на папку create_web_app в локальном репозитории.

  3. Убедитесь, что файлazuredeploy.json находится в папке.

  4. Выполните следующую команду:

    git add .
    git commit -m "Add web app templates."
    git push origin main
    

    Вы можете получить предупреждение о LF. Предупреждение можно игнорировать. main — основная ветвь. Обычно создается ветвь для каждого обновления. Чтобы упростить руководство, вы используете основную ветку напрямую.

  5. Перейдите к репозиторию GitHub из браузера. URL-адрес: https://github.com/[YourAccountName]/[YourGitHubRepository]. Вы увидите папку create_web_app и два файла в папке.

  6. Выберите azuredeploy.json , чтобы открыть шаблон.

  7. Нажмите кнопку "Необработанный ". URL-адрес начинается с https://raw.githubusercontent.com.

  8. Создайте копию URL-адреса. Это значение необходимо указать при настройке конвейера позже в руководстве.

До сих пор вы создали репозиторий GitHub и добавили шаблоны в репозиторий.

Создание проекта DevOps

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

  1. Выполните вход в Azure DevOps.

  2. Выберите организацию DevOps слева и выберите новый проект. Если у вас нет проектов, страница создания проекта открывается автоматически.

  3. Введите следующие значения:

    Снимок экрана: создание проекта Azure DevOps для Azure Resource Manager Azure DevOps Azure Pipelines.

    • Имя проекта: введите имя проекта. Вы можете использовать имя проекта, выбранное в начале руководства.
    • Видимость: выбор приватного.

    Используйте значение по умолчанию для других свойств.

  4. Нажмите кнопку "Создать".

Создайте подключение службы, которое используется для развертывания проектов в Azure.

  1. Выберите параметры проекта в нижней части меню слева.

  2. Выберите Подключения к службе в разделе Pipelines.

  3. Выберите "Создать подключение службы", выберите Azure Resource Manager и нажмите кнопку "Далее".

  4. Выберите служебный принципал (автоматически), а затем Далее.

  5. Введите следующие значения:

    • Уровень области: выберите подписку.
    • Подписка: выберите подписку.
    • Группа ресурсов: оставьте его пустым.
    • Имя подключения: введите имя подключения. Например, ARMPipeline-conn. Запишите это имя, оно понадобится при создании конвейера.
    • Предоставьте разрешение на доступ ко всем конвейерам. (выбрано)
  6. Нажмите кнопку "Сохранить".

Создание конвейера

До сих пор вы выполнили следующие задачи. Если пропустить предыдущие разделы, так как вы знакомы с GitHub и DevOps, необходимо выполнить задачи, прежде чем продолжить.

  • Создайте репозиторий GitHub и сохраните шаблоны в папку create_web_app в репозитории.
  • Создайте проект DevOps и создайте подключение службы Azure Resource Manager.

Чтобы создать конвейер с шагом для развертывания шаблона, выполните приведенные ниже действия.

  1. Выберите конвейеры в меню слева.

  2. Выберите Создать конвейер.

  3. На вкладке "Подключиться" выберите GitHub. При появлении запроса введите учетные данные GitHub и следуйте инструкциям. Если вы увидите следующий экран, выберите "Только репозитории" и убедитесь, что репозиторий находится в списке перед нажатием кнопки "Утвердить и установить".

    Снимок экрана: выбор репозиториев для Azure Resource Manager Azure DevOps Azure Pipelines.

  4. На вкладке "Выбор " выберите репозиторий. Имя по умолчанию имеет значение [YourAccountName]/[YourGitHubRepositoryName].

  5. На вкладке "Настройка" выберите "Начальный конвейер". В нем показан файл конвейера azure-pipelines.yml с двумя шагами скрипта.

  6. Удалите два шага скрипта из файла .yml .

  7. Переместите курсор на строку после шагов:.

  8. Выберите "Показать помощник" справа от экрана, чтобы открыть область задач .

  9. Выберите развертывание шаблона ARM.

  10. Введите следующие значения:

    • deploymentScope: выберите группу ресурсов. Дополнительные сведения об областях см. в разделе "Области развертывания".
    • Подключение Azure Resource Manager. Выберите имя подключения службы, созданное ранее.
    • Подписка: укажите идентификатор целевой подписки.
    • Действие: выберите действие «Создать или обновить группу ресурсов», которое выполняет 2 задачи — 1. создайте группу ресурсов, если указано новое имя группы ресурсов; 2. разверните указанный шаблон.
    • Группа ресурсов: введите новое имя группы ресурсов. Например, ARMPipeline-rg.
    • Расположение. Выберите расположение для группы ресурсов, например центральную часть США.
    • Расположение шаблона: выберите URL-адрес файла, то есть задача ищет файл шаблона с помощью URL-адреса. Так как относительныйPath используется в основном шаблоне и относительныйPath поддерживается только в развертываниях на основе URI, необходимо использовать URL-адрес здесь.
    • Ссылка на шаблон: введите URL-адрес, полученный в конце раздела "Подготовка репозитория GitHub ". Он начинается с https://raw.githubusercontent.com.
    • Ссылка на параметры шаблона: оставьте это поле пустым. Вы укажете значения параметров в параметрах шаблона Override.
    • Переопределите параметры шаблона: введите -projectName [EnterAProjectName].
    • Режим развертывания: выберите инкрементный.
    • Имя развертывания: введите DeployPipelineTemplate. Выберите "Дополнительно”, чтобы увидеть Имя развертывания.

    Снимок экрана: страница развертывания шаблона ARM с необходимыми значениями, введенными для Azure DevOps Azure Pipelines.

  11. Нажмите кнопку "Добавить".

    Дополнительные сведения о задаче см. в статье "Задача развертывания группы ресурсов Azure" и задача развертывания шаблона Azure Resource Manager

    Файл .yml должен иметь следующий тип:

    Снимок экрана страницы

  12. Выберите Сохранить и выполнить.

  13. В области "Сохранить и запустить" нажмите кнопку "Сохранить и запустить " еще раз. Копия ФАЙЛА YAML сохраняется в подключенном репозитории. Файл YAML можно просмотреть, перейдя в ваш репозиторий.

  14. Убедитесь, что конвейер выполнен успешно.

    Снимок экрана Azure Resource Manager Azure DevOps Azure Pipelines YAML-файла.

Проверка развертывания

  1. Войдите на портал Azure.
  2. Откройте группу ресурсов. Имя — это то, что вы указали в файле YAML конвейера. Вы увидите одну учетную запись хранения, созданную. Имя учетной записи хранения начинается с хранилища.
  3. Выберите имя учетной записи хранения, чтобы открыть ее.
  4. Выберите Свойства. Обратите внимание, что репликацияэто локально избыточное хранилище (LRS).

Обновление и повторное развертывание

При обновлении шаблона и отправке изменений в удаленный репозиторий конвейер автоматически обновляет ресурсы, учетная запись хранения в данном случае.

  1. Откройте linkedStorageAccount.json из локального репозитория в Visual Studio Code или любом текстовом редакторе.

  2. Обновите значение по умолчанию на storageAccountType до Standard_GRS. См. следующий снимок экрана:

    Снимок экрана: обновление ФАЙЛА YAML для Azure Resource Manager Azure DevOps Azure Pipelines.

  3. Сохраните изменения.

  4. Отправьте изменения в удаленный репозиторий, выполнив следующие команды из Git Bash/Shell.

    git pull origin main
    git add .
    git commit -m "Update the storage account type."
    git push origin main
    

    Первая команда (pull) синхронизирует локальный репозиторий с удаленным репозиторием. Файл YAML конвейера был добавлен только в удаленный репозиторий. pull При выполнении команды загружается копия YAML-файла в локальную ветвь.

    Четвертая команда (push) отправляет измененный linkedStorageAccount.json-файл в удаленный репозиторий. При обновлении основной ветви удаленного репозитория конвейер снова запускается.

Чтобы проверить изменения, можно проверить свойство репликации учетной записи хранения. См. статью "Проверка развертывания".

Очистите ресурсы

Если ресурсы Azure больше не нужны, очистите развернутые ресурсы, удалив группу ресурсов.

  1. На портале Azure выберите группу ресурсов в меню слева.
  2. Введите имя группы ресурсов в поле "Фильтр по имени ".
  3. Выберите имя группы ресурсов.
  4. Выберите "Удалить группу ресурсов " в верхнем меню.

Вы также можете удалить репозиторий GitHub и проект Azure DevOps.

Дальнейшие шаги

Поздравляем, вы закончили это руководство по развертыванию шаблонов Resource Manager. Сообщите нам, есть ли у вас комментарии и предложения в разделе отзывов. Спасибо! Вы готовы перейти к более сложным понятиям о шаблонах. В следующем руководстве подробно описано использование справочной документации по шаблону для определения ресурсов для развертывания.