Руководство по Развертывание приложения ASP.NET на виртуальных машинах Azure с помощью Azure DevOps Starter

Azure DevOps Starter — это упрощенный интерфейс, который позволяет добавить существующий код и репозиторий Git либо выбрать пример приложения, чтобы создать конвейер непрерывной интеграции (CI) и непрерывной поставки (CD) в Azure.

Кроме того, DevOps Starter может выполнять следующие задачи:

  • автоматически создавать ресурсы Azure, например виртуальные машины Azure;
  • создавать и настраивать конвейеры выпуска в Azure DevOps, которые включают конвейеры сборки для CI;
  • настраивать конвейер выпуска для непрерывного развертывания;
  • создавать ресурс Azure Application Insights для мониторинга.

Выполняя данное руководство, вы сделаете следующее:

  • Использование DevOps Starter для развертывания приложения ASP.NET
  • настройка Azure DevOps и подписки Azure;
  • Просмотр конвейера CI
  • Просмотр конвейера CD
  • Фиксация изменений в Azure Repos и их автоматическое развертывание в Azure
  • Настройка мониторинга Azure Application Insights
  • Очистка ресурсов

Предварительные требования

  • Подписка Azure. Вы можете получить бесплатную подписку с помощью Visual Studio Dev Essentials.

Использование DevOps Starter для развертывания приложения ASP.NET

DevOps Starter позволяет создать конвейер CI/CD в Azure Pipelines. Вы можете создать новую организацию Azure DevOps или использовать существующую. Служба DevOps Projects также создает ресурсы Azure, например виртуальные машины, в выбранной подписке Azure.

  1. Войдите на портал Azure.

  2. В поле поиска введите DevOps Starter, а затем выберите ресурс. Щелкните Добавить, чтобы создать новый ресурс.

    Панель мониторинга DevOps Starter

  3. Выберите .NET, а затем Далее.

  4. В поле Выберите платформу приложений щелкните ASP.NET, а затем выберите Далее. Платформа приложений, выбранная ранее, определяет доступный тип целевого объекта развертывания службы Azure.

  5. Выберите виртуальную машину и щелкните Далее.

настройка Azure DevOps и подписки Azure;

  1. Создайте новую организацию Azure DevOps или выберите существующую.

  2. Задайте имя проекта Azure DevOps.

  3. Выберите службы подписки Azure. Дополнительно можно щелкнуть Изменить и ввести дополнительные сведения о конфигурации, например расположение ресурсов Azure.

  4. Введите имя виртуальной машины, имя пользователя и пароль для нового ресурса виртуальной машины Azure, затем щелкните Готово. Через несколько минут виртуальная машина Azure будет готова. Пример приложения ASP.NET будет настроен в репозитории вашей организации Azure DevOps, затем будут выполнены операции сборки и выпуска, после чего приложение будет развернуто в созданной виртуальной машине Azure.

    После завершения всех операций панель мониторинга DevOps Starter отобразится на портале Azure. К панели мониторинга также можно перейти непосредственно из представления Все ресурсы на портале Azure.

    Панель мониторинга позволяет просматривать репозиторий кода Azure DevOps, конвейер CI/CD и приложение, запущенное в Azure.

    Представление панели мониторинга

Служба DevOps Starter автоматически настраивает сборку CI и триггер выпуска, который развертывает изменения кода в вашем репозитории. Вы можете настроить дополнительные параметры в Azure DevOps. Для просмотра запущенного приложения щелкните Обзор.

Просмотр конвейера CI

DevOps Starter автоматически настраивает конвейер CI/CD в Azure Pipelines. Вы можете изучить и настроить конвейер. Чтобы изучить конвейер сборки, выполните следующие действия:

  1. В верхней части панели мониторинга DevOps Starter выберите Конвейеры сборки. На вкладке браузера отобразится конвейер сборки нового проекта.

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

  3. Выберите команду Изменить.

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

  5. Выберите имя конвейера сборки в верхней части соответствующей области.

  6. Замените имя конвейера сборки более понятным для себя, выберите Сохранить и поместить в очередь и нажмите кнопку Сохранить.

  7. Под именем конвейера сборки щелкните Журнал. В этой области отображается журнал аудита последних изменений сборки. Azure DevOps отслеживает все изменения, внесенные в конвейер сборки, и позволяет сравнивать версии.

  8. Выберите Триггеры. DevOps Starter автоматически создает триггер CI, а при каждой фиксации в репозитории запускается новая сборка. При необходимости выберите для процесса непрерывной интеграции включение или исключение ветвей.

  9. Щелкните Период удержания. В зависимости от сценария можно указать политики для хранения или удаления определенного количества сборок.

Просмотр конвейера CD

DevOps Starter автоматически создает и настраивает необходимые шаги для развертывания из вашей организации Azure DevOps в подписке Azure. Эти шаги включают настройку подключения к службе Azure для аутентификации Azure DevOps в подписке Azure. Средства автоматизации также создают конвейер CD, который обеспечивает непрерывное развертывание на виртуальной машине Azure. Чтобы получить дополнительные сведения о конвейере непрерывного развертывания в Azure DevOps, выполните следующие действия:

  1. Выберите Сборка и выпуск, а затем — Выпуски. DevOps Starter создаст конвейер выпуска для управления развертываниями в Azure.

  2. Щелкните многоточие (…) рядом с конвейером выпуска и выберите Изменить. Конвейер выпуска содержит конвейер, в котором определен процесс выпуска.

  3. В разделе Артефакты выберите Удалить. Конвейер сборки, который вы изучали на предыдущих этапах, создает выходные файлы, используемые в качестве артефакта.

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

  5. В области слева выберите Задачи, а затем выберите свою среду. Задачи — это действия, которые выполняются в процессе развертывания. Эти действия объединены в этапы. Конвейер выпуска включает два этапа:

    • Первый этап содержит задачу развертывания для группы ресурсов Azure, которая выполняет две операции:

      • настраивает виртуальную машину для развертывания;
      • добавляет новую виртуальную машину в группу развертывания Azure DevOps. Группа развертывания виртуальных машин в Azure DevOps управляет логическими группами, объединяющими целевые компьютеры развертывания.
    • На втором этапе задача управления веб-приложением IIS создает веб-сайт IIS в виртуальной машине. Для развертывания сайта создана вторая задача развертывания веб-приложения IIS.

  6. В области справа выберите Просмотреть выпуски, чтобы отобразился журнал выпусков.

  7. Щелкните многоточие (…) рядом с одним из выпусков и выберите Открыть. Отобразится меню с несколькими элементами, такими как сводка выпуска, связанные рабочие элементы и тесты.

  8. Щелкните Фиксации. В этом представлении отображаются фиксации кода, связанные с текущим развертыванием. Сравните выпуски, чтобы просмотреть различия между развертываниями.

  9. Выберите Журналы. Журналы содержат полезную информацию о процессе развертывания. Их можно просматривать во время и после развертывания.

Фиксация изменений в Azure Repos и их автоматическое развертывание в Azure

Теперь вы готовы к совместной работе над приложением с использованием процесса CI/CD для автоматического развертывания последних результатов работы на своем веб-сайте. При каждом изменении в репозитории Git запускается сборка в Azure DevOps и конвейер CD выполняет развертывание в Azure. Используйте описанную в этом разделе процедуру или другой метод, чтобы зафиксировать изменения в репозитории. Изменения кода инициируют процесс CI/CD и автоматически развертывают ваши новые изменения на веб-сайте IIS на виртуальной машине Azure.

  1. В области слева щелкните Код и откройте репозиторий.

  2. Откройте каталог Views\Home, затем нажмите многоточие (...) рядом с файлом Index.cshtml и щелкните Изменить.

  3. Внесите изменения в файл, например, измените определенный текст внутри одного из тегов div.

  4. В правом верхнем углу выберите Зафиксировать, после чего снова нажмите Зафиксировать, чтобы отправить изменения. Через несколько секунд начнется процесс сборки в Azure DevOps, после чего будет выполнена операция выпуска для развертывания изменений. Вы можете отслеживать состояние сборки на панели мониторинга DevOps Starter или в браузере в своей организации Azure DevOps.

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

Настройка мониторинга Azure Application Insights

С помощью Azure Application Insights можно легко отслеживать производительность и использование своего приложения. Azure DevOps Starter автоматически настраивает ресурс Application Insights для вашего приложения. Вы можете дополнительно настроить различные предупреждения и возможности мониторинга по мере необходимости.

  1. На портале Azure перейдите к панели мониторинга DevOps Starter.

  2. В правом нижнем углу щелкните ссылку Application Insights для вашего приложения. Откроется панель Application Insights. Это представление содержит информацию об использовании, производительности и доступности приложения.

    Панель Application Insights

  3. Щелкните Диапазон времени, а затем выберите За последний час. Щелкните Обновить, чтобы отфильтровать результаты. Теперь вы можете просмотреть все действия за последние 60 минут.

  4. Чтобы закрыть представление диапазона времени, щелкните x.

  5. Выберите Оповещения и щелкните Добавить оповещение метрики.

  6. Введите имя оповещения.

  7. В раскрывающемся списке Метрика просмотрите различные оповещения метрик. По умолчанию оповещение отображается, если время отклика сервера превышает 1 секунду. Различные оповещения можно легко настроить, чтобы улучшить возможности мониторинга приложения.

  8. Установите флажок Notify via Email owners, contributors, and readers (Уведомлять по электронной почте владельцев, участников и читателей). При желании вы можете выполнять дополнительные действия, когда срабатывает оповещение, реализовав приложение логики в Azure.

  9. Нажмите кнопку ОК, чтобы создать оповещение. Через несколько секунд предупреждение появится на панели мониторинга как активное.

  10. Выйдите из области оповещений и вернитесь на панель Application Insights.

  11. Выберите Доступность, а затем щелкните Добавить тест.

  12. Введите имя теста и нажмите кнопку Создать. Создается простой тест проверки связи для проверки доступности вашего приложения. Через несколько минут результаты тестирования будут доступны, а на панели мониторинга Application Insights отобразится состояние доступности.

Очистка ресурсов

Если вы выполняете тестирование, можно очистить ресурсы, чтобы избежать дополнительных расходов. Ненужную виртуальную машину Azure и связанные ресурсы, созданные в рамках этого руководства, можно удалить. Для этого воспользуйтесь функцией Удалить на панели мониторинга DevOps Starter.

Важно!

Следующая процедура безвозвратно удаляет ресурсы. Функция Удалить безвозвратно удаляет в Azure и в Azure DevOps данные, созданные в проекте DevOps Starter. Выполняйте эту процедуру только после того, как прочли предупреждение.

  1. На портале Azure перейдите к панели мониторинга DevOps Starter.
  2. В правом верхнем углу выберите Удалить.
  3. В окне предупреждения выберите Да, чтобы удалить ресурсы без возможности восстановления.

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

Дальнейшие действия

В этом руководстве вы узнали, как выполнять следующие задачи:

  • Использование DevOps Starter для развертывания приложения ASP.NET
  • настройка Azure DevOps и подписки Azure;
  • Просмотр конвейера CI
  • Просмотр конвейера CD
  • Фиксация изменений в Azure Repos и их автоматическое развертывание в Azure
  • Настройка мониторинга Azure Application Insights
  • Очистка ресурсов

См. дополнительные сведения о конвейере CI/CD:

Define your multi-stage continuous deployment (CD) pipeline (Настройка многоэтапного конвейера для непрерывного развертывания)