Руководство по настройке CI/CD для приложения Service Fabric с помощью Azure Pipelines
Это руководство является частью четырех в серии. Здесь показано, как настроить непрерывную интеграцию и непрерывное развертывание (CI/CD) для приложения Azure Service Fabric с помощью Azure Pipelines. Чтобы завершить работу с руководством, необходимо иметь существующее приложение Service Fabric. В этом руководстве используется приложение, описанное в одной части серии учебников.
В этом руководстве описано следующее:
- Добавление проекта в систему управления версиями
- Создание конвейера сборки в Azure Pipelines
- Создание конвейера выпуска в Azure Pipelines
- Автоматическое развертывание и обновление приложения
В серии учебников показано, как:
- Создание приложения .NET Service Fabric.
- Развертывание приложения в удаленном кластере.
- Добавление конечной точки HTTPS к интерфейсной службе ASP.NET Core
- Настройка CI/CD с помощью Azure Pipelines (в этом руководстве)
- Настройка мониторинга и диагностики приложения
Необходимые компоненты
Перед началом работы с этим руководством выполните следующие действия:
- Если у вас еще нет подписки Azure, создайте бесплатную учетную запись.
- Установите Visual Studio 2019, включая рабочую нагрузку разработки Azure и рабочую нагрузку ASP.NET и веб-разработки.
- Установите пакет SDK для Service Fabric.
- Создайте кластер Windows Service Fabric в Azure, например, следуя этому руководству.
- Создайте организацию Azure DevOps, чтобы создать проект в Azure DevOps и использовать 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.
Выберите учетную запись и введите имя репозитория. Щелкните Создать и отправить.
Публикация репозитория создает новый проект в учетной записи 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 Service Fabric и нажмите кнопку "Применить".
В случае задач в пуле агентов введите Azure Pipelines. Для спецификации агента введите windows-2022.
В разделе "Триггеры" установите флажок "Включить непрерывную интеграцию ". В фильтрах 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.
При отправке изменений в 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
.
Следующий шаг
Перейдите к следующему руководству: