Как создать непрерывное развертывание с помощью Visual Studio, Azure и Visual Studio Team Services

Опубликовано: 5 Марта, 2023
Как создать непрерывное развертывание с помощью Visual Studio, Azure и Visual Studio Team Services

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

[tg_youtube video_id="gH37_FUSroc"]

Что такое ЦИКД?

CICD означает непрерывную интеграцию и непрерывную доставку (также называемую непрерывным развертыванием). С CI вы регулярно объединяете изменения кода, чтобы убедиться, что эти изменения работают (или интегрируются) с существующей кодовой базой и позволяют выполнять тестирование. С помощью CD вы многократно проталкиваете код через конвейер развертывания, где он создается, тестируется и затем развертывается. С CD вы можете развернуть свой код в промежуточной среде (тестовой, для разработки) или автоматически опубликовать свой код в рабочей среде.

Кто поддерживает CICD?

Такой подход к перемещению вашего кода по автоматизированному конвейеру, компиляции и выпуску кода не нов, но облачные решения, такие как Microsoft Azure и Amazon AWS, внедряют CICD в рабочий процесс разработки. Хотя CICD как термин и как технология существует уже некоторое время, возможность без особых усилий перенести ваш код с компьютера в главный репозиторий, а затем в промежуточную или производственную среду в облаке все еще очень нова. Сегодня в большинстве облачных решений вы найдете всевозможные возможности с пометкой или .

Git и CICD

У всех инструментов CICD есть одна общая черта: они предпочитают, чтобы ваш проект использовал репозиторий Git. Вы можете разместить этот репозиторий внутри, но более распространенным подходом является размещение вашего решения на GitHub. Microsoft предлагает популярные Visual Studio Team Services, которые позволяют создавать репозитории Git и быстро настраивать CICD в Azure.

Настройка среды

Для этой статьи и прикрепленного видео вы будете использовать следующие инструменты:

  • Visual Studio 2017 (работает 2015, но я полагаю, что вам может потребоваться загрузить решение Visual Studio Team Services Git, прежде чем вы сможете начать работу).
  • Visual Studio Team Services (я использую бесплатный уровень).
  • Azure (я использую Dev Essentials, чтобы использовать бесплатные кредиты).

Рабочий процесс Azure CICD

Как видно на изображении ниже, вы создадите и обновите приложение на локальном компьютере с локальным репозиторием Git. Когда все будет готово, вы зафиксируете код в главном репозитории, которым в данном случае является Visual Studio Team Services (VSTS). Наконец, вы настроите Azure для поиска изменений в этом репозитории. Как только Azure обнаружит новый код, он загрузит, скомпилирует и запустит новое решение.

При интеграции VSTS с Azure у вас есть несколько вариантов. Конечно, вы можете создать интеграцию с помощью PowerShell, Bash или другого пользовательского кода. Во-вторых, разрешить VSTS ваш код в Azure. Третий и последний вариант — заставить Azure ждать изменений в вашем репозитории и предпринимать действия при необходимости. Лично мне нравится третий вариант, потому что один человек может управлять облачными службами вашей организации, а другой поддерживать репозиторий Git. Кроме того, текущая документация Microsoft, кажется, указывает на лучший метод использования облака Azure для интеграции, но я не уверен, является ли это предпочтением или частью их будущего направления.

Создайте первоначальный проект

Автоматизированный CICD доступен не для всех типов решений, но, безусловно, доступен для веб-приложений. В соответствующем видео я покажу вам процесс создания проекта, который включает следующие шаги:

  1. Создайте новое веб-приложение Asp.Net (MVC).
  2. Добавьте приложение в локальный репозиторий Git.

Если вам интересно узнать больше о Git, ознакомьтесь с моей статьей здесь.

Настроить VSTS

Как только ваш проект будет готов, вы будете использовать Visual Studio для загрузки вашего проекта в VSTS, выполнив следующие действия:

  1. Опубликуйте репозиторий в VSTS.
  2. Убедитесь, что проект доступен на вашем сайте VSTS.

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

Настроить Azure

Как уже упоминалось ранее в этой статье, вы можете настроить VSTS для передачи кода в Azure, или вы можете сделать так, чтобы Azure взял на себя управление после того, как VSTS получит обновление. В моем случае я предпочитаю настраивать CICD в Azure. Вот шаги, которые необходимо выполнить:

  1. Создайте новое веб-приложение в Azure и назовите его (имя может отличаться от имени проекта в VSTS).
  2. Настройте непрерывное развертывание.
  3. Дождитесь завершения интеграции (первое перемещение файлов из VSTS в Azure).
  4. Перезапустите приложение (может потребоваться).
  5. Протестируйте свое приложение после первой синхронизации.

Тестирование CICD

При первом запуске этого процесса в Azure выполняется процесс ручной настройки, в ходе которого вы настраиваете веб-приложение и подключаете его к своей учетной записи VSTS. После этого вы можете протестировать решение от начала до конца:

  1. Обновите свой локальный код в Visual Studio.
  2. Зафиксируйте изменения в Visual Studio и синхронизируйте их с VSTS (ваш рабочий процесс может отличаться).
  3. Обновите ветвь для своего кода (или любую ветвь, которую вы выбрали при настройке Azure).
  4. Подождите, пока Azure отправит вам информационное электронное письмо о том, что ваш код запущен.
  5. Протестируйте свой код, который теперь обновлен в Azure.