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


Руководство по настройке 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 Create Git>Repository в меню 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. Оставьте ветвь по умолчанию для ручной и запланированной сборки. Затем выберите Continue (Продолжить).

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

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

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

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

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

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

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

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

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

Перейдите на вкладку "Конвейеры" и выберите "Выпуски>нового конвейера". На выборе шаблона выберите шаблон развертывания 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 Обозреватель:

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

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

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

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

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