Руководство по Развертывание приложения с непрерывной интеграцией и развертыванием в кластере Service Fabric

Это четвертое руководство из цикла. В нем описано, как настроить непрерывные интеграцию и развертывание для приложения Azure Service Fabric с помощью Azure Pipelines. Вам потребуется приложение Service Fabric. В качестве примера используется приложение, созданное в разделе Создание приложения .NET.

В третьей части цикла вы узнаете, как выполнять такие задачи:

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

В следующих руководствах вы узнаете, как:

Необходимые компоненты

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

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

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

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

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

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

Выберите в проекте приложения целевой профиль, который будет использоваться для рабочего процесса непрерывной интеграции, например "Облако". Укажите конечную точку подключения кластера. Установите флажок Обновлять приложение, чтобы ваше приложение обновлялось при каждом развертывании в 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/\<имени> организации, наведите указатель мыши на имя проекта и щелкните значок Repos .

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

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

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

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

Откройте веб-браузер и перейдите к новому проекту по адресу: https://dev.azure.com/\<organizationname>/VotingSample

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

Создать конвейер

Выберите Use the classic editor (Использовать классический редактор), чтобы создать конвейер без YAML.

Классический редактор

Выберите Azure Repos Git в качестве источника, project VotingSample Team, VotingApplication Repository и главную ветвь по умолчанию для ручной и запланированной сборки. Затем выберите Continue (Продолжить).

Выбор репозитория

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

Выбор шаблона сборки

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

Выбор задач

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

Выбор триггеров

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

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

Перейдите на вкладку Контейнеры, выберите Выпуски и щелкните +Создать конвейер. В области Выбор шаблона выберите шаблон Развертывание Azure Service Fabric в списке и нажмите кнопку Применить.

Выбор шаблона выпуска

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

Добавление подключения к кластеру

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

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

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

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

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

Добавить артефакт

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

Включить триггер

Выберите Create Release -Create (>Создать выпуск), чтобы вручную создать выпуск. Ход создания можно отслеживать на вкладке Выпуски.

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

Фиксация и отправка изменений, создание выпуска

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

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

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

Зафиксировать все

В окне "Изменения Git" нажмите кнопку "Отправить" (стрелка вверх), чтобы обновить код в 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, запущенном в окне браузера. Версия приложения

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

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

После начала обновления вы сможете отслеживать ход обновления в Service Fabric Explorer:

Снимок экрана: приложение для голосования в Service Fabric Explorer. Выделено сообщение о состоянии

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

Снимок экрана: приложение для голосования в Service Fabric Explorer, запущенное в окне браузера. Обновленная версия приложения

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

Из этого руководства вы узнали, как:

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

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