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


Руководство по настройке CI/CD для приложения Service Fabric с помощью Azure Pipelines

Это руководство является частью четырех в серии. Здесь показано, как настроить непрерывную интеграцию и непрерывное развертывание (CI/CD) для приложения Azure Service Fabric с помощью Azure Pipelines. Чтобы завершить работу с руководством, необходимо иметь существующее приложение Service Fabric. В этом руководстве используется приложение, описанное в одной части серии учебников.

В этом руководстве описано, как:

  • Добавление системы управления версиями в проект
  • Создание конвейера сборки в Azure Pipelines
  • Создание конвейера выпуска в Azure Pipelines
  • Автоматическое развертывание и обновление приложения

В серии учебников показано, как:

Предпосылки

Перед началом работы с этим руководством выполните следующие действия:

Скачивание примера приложения для голосования

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

git clone https://github.com/Azure-Samples/service-fabric-dotnet-quickstart

Подготовьте профиль публикации

Теперь, когда вы создали приложение и развернули приложение в Azure, вы можете настроить непрерывную интеграцию. Сначала подготовьте профиль публикации в приложении для использования в рамках процесса развертывания, который выполняется в Azure Pipelines. Профиль публикации должен быть настроен для целевого кластера, созданного ранее. Запустите Visual Studio и откройте существующий проект приложения Service Fabric. В обозревателе решений щелкните правой кнопкой мыши приложение и выберите "Опубликовать".

Выберите целевой профиль в проекте приложения, который будет использоваться для рабочего процесса непрерывной интеграции, например Cloud. Укажите конечную точку подключения к кластеру. Установите флажок "Обновить приложение" , чтобы приложение обновлялось для каждого развертывания в Azure DevOps. Щелкните ссылку "Сохранить профиль" , чтобы сохранить параметры в профиле публикации, а затем нажмите кнопку "Отмена ", чтобы закрыть диалоговое окно.

Снимок экрана: отправка профиля для публикации приложения.

Предоставление общего доступа к решению Visual Studio в новом репозитории Azure DevOps Git

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

Чтобы создать новый репозиторий GitHub и репозиторий Azure DevOps в Visual Studio 2022, выберите в меню Git: Git>Создать репозиторий Git.

Выберите учетную запись и введите имя репозитория. Выберите Создать и отправить.

Снимок экрана: создание нового репозитория Git.

Публикация репозитория создает новый проект в учетной записи Azure DevOps Services, которая имеет то же имя, что и локальное репозиторие.

Чтобы просмотреть только что созданный репозиторий, перейдите в раздел https://dev.azure.com/><organizationname>. Наведите указатель мыши на имя проекта и выберите значок Repos .

Настройка непрерывной доставки с помощью Azure Pipelines

Конвейер сборки Azure Pipelines описывает рабочий процесс с набором шагов сборки, выполняемых последовательно. Для развертывания в кластере Service Fabric создайте пакет сборки, который производит пакет приложения Service Fabric и другие артефакты. Узнайте больше о конвейерах сборки Azure Pipelines.

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

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

Откройте веб-браузер и перейдите в новый проект https://dev.azure.com/<organization-name>/VotingSample.

Перейдите на вкладку "Конвейеры" и нажмите кнопку "Создать конвейер".

Снимок экрана: создание нового конвейера.

Выберите " Использовать классический редактор " для создания конвейера без использования YAML.

Снимок экрана: использование классического редактора для создания конвейера.

Для источника выберите Azure Repos Git. Для командного проекта выберите VotingSample. Для репозитория выберите VotingApplication. Оставьте ветвь по умолчанию для ручных и запланированных сборок. Затем выберите Продолжить.

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

В разделе "Выбор шаблона" выберите шаблон приложения Azure Service Fabric и нажмите кнопку "Применить".

Снимок экрана: выбор и создание шаблона.

В разделе Задачи для пул агентов введите Azure Pipelines. Для спецификации агента введите windows-2022.

Снимок экрана: выбор задач.

В разделе "Триггеры" установите флажок "Включить непрерывную интеграцию ". В фильтрах ветви, спецификация ветви по умолчанию установлена в master. Нажмите кнопку "Сохранить" и "Очередь ", чтобы вручную запустить сборку.

Снимок экрана: выбор триггера.

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

Создание конвейера выпуска

Перейдите на вкладку "Конвейеры" и выберите " Выпуски>нового конвейера". На выборе шаблона выберите шаблон развертывания Azure Service Fabric и нажмите кнопку "Применить".

Снимок экрана: выбор шаблона выпуска.

Выберите Задачи>Новый, чтобы добавить новое соединение с кластером.

Снимок экрана: добавление подключения к кластеру.

В разделе "Новое подключение Service Fabric" выберите проверку подлинности на основе сертификатов или учетных данных Microsoft Entra . Укажите конечную точку кластера tcp://mysftestcluster.southcentralus.cloudapp.azure.com:19000 (или конечную точку кластера, в который вы разворачиваете).

Для проверки подлинности на основе сертификатов добавьте отпечаток сертификата сервера, используемого для создания кластера. В сертификате клиента добавьте кодировку base-64 файла сертификата клиента. Обратитесь к справочной информации для этого поля, чтобы узнать, как получить представление этого сертификата в кодировке Base-64. Кроме того, добавьте пароль для сертификата. Сертификат кластера или сертификат сервера можно использовать, если у вас нет отдельного сертификата клиента.

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

Выберите Сохранить.

Затем добавьте артефакт сборки в конвейер, чтобы конвейер выпуска смог найти выходные данные сборки. Выберите конвейер>артефакты>добавить. В исходном коде (определение сборки) выберите созданный ранее конвейер сборки. Нажмите кнопку "Добавить ", чтобы сохранить артефакт сборки.

Снимок экрана, показывающий добавление артефакта.

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

Снимок экрана: включение триггера.

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

Убедитесь, что развертывание выполнено успешно и что приложение работает в кластере. Откройте веб-браузер и перейдите к https://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/. Обратите внимание на версию приложения. В нашем примере это значение выглядит следующим образом: 1.0.0.20170616.3.

Коммит и отправка изменений для активации релиза

Чтобы убедиться, что конвейер непрерывной интеграции работает, проверьте некоторые изменения кода в Azure DevOps.

При написании кода Visual Studio отслеживает изменения файла в проекте в разделе "Изменения " области изменений Git .

В разделе "Изменения" введите сообщение для описания обновления, а затем зафиксируйте изменения.

Скриншот, показывающий фиксацию последних изменений.

В Git Changes нажмите кнопку Push (стрелка вверх), чтобы обновить код в Azure Pipelines.

Снимок экрана: параметр push-отправки.

При отправке изменений в Azure Pipelines запускается сборка. Чтобы проверить ход сборки, перейдите на вкладку "Конвейеры " в приложении https://dev.azure.com/organizationname/VotingSample.

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

Убедитесь, что развертывание выполнено успешно и что приложение работает в кластере. Откройте веб-браузер и перейдите к https://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/. Обратите внимание на версию приложения. В нашем примере это значение выглядит следующим образом: 1.0.0.20170815.3.

Снимок экрана: приложение

Обновление приложения

Внесите изменения кода в приложение. Сохраните и зафиксируйте изменения.

При запуске обновления приложения можно отслеживать ход обновления в Service Fabric Explorer:

Снимок экрана: приложение

Обновление приложения может занять несколько минут. После завершения обновления приложение запускает следующую версию. В этом примере запускается версия 1.0.0.20170815.4.

Снимок экрана: приложение

Следующий шаг

Перейдите к следующему уроку: