Руководство по Развертывание приложения 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.
Войдите на портал Azure.
В поле поиска введите DevOps Starter, а затем выберите ресурс. Щелкните Добавить, чтобы создать новый ресурс.
Выберите .NET, а затем Далее.
В поле Выберите платформу приложений щелкните ASP.NET, а затем выберите Далее. Платформа приложений, выбранная ранее, определяет доступный тип целевого объекта развертывания службы Azure.
Выберите виртуальную машину и щелкните Далее.
настройка Azure DevOps и подписки Azure;
Создайте новую организацию Azure DevOps или выберите существующую.
Задайте имя проекта Azure DevOps.
Выберите службы подписки Azure. Дополнительно можно щелкнуть Изменить и ввести дополнительные сведения о конфигурации, например расположение ресурсов Azure.
Введите имя виртуальной машины, имя пользователя и пароль для нового ресурса виртуальной машины 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. Вы можете изучить и настроить конвейер. Чтобы изучить конвейер сборки, выполните следующие действия:
В верхней части панели мониторинга DevOps Starter выберите Конвейеры сборки. На вкладке браузера отобразится конвейер сборки нового проекта.
Выберите поле Состояние и щелкните значок многоточия (…). В появившемся меню содержится несколько пунктов, таких как постановка новой сборки в очередь, приостановка сборки и изменение конвейера сборки.
Выберите команду Изменить.
В этой области можно просмотреть различные задачи для конвейера сборки. При сборке выполняются различные задачи, такие как получение исходного кода из репозитория Git, восстановление зависимостей и публикация результатов, используемых для развертывания.
Выберите имя конвейера сборки в верхней части соответствующей области.
Замените имя конвейера сборки более понятным для себя, выберите Сохранить и поместить в очередь и нажмите кнопку Сохранить.
Под именем конвейера сборки щелкните Журнал. В этой области отображается журнал аудита последних изменений сборки. Azure DevOps отслеживает все изменения, внесенные в конвейер сборки, и позволяет сравнивать версии.
Выберите Триггеры. DevOps Starter автоматически создает триггер CI, а при каждой фиксации в репозитории запускается новая сборка. При необходимости выберите для процесса непрерывной интеграции включение или исключение ветвей.
Щелкните Период удержания. В зависимости от сценария можно указать политики для хранения или удаления определенного количества сборок.
Просмотр конвейера CD
DevOps Starter автоматически создает и настраивает необходимые шаги для развертывания из вашей организации Azure DevOps в подписке Azure. Эти шаги включают настройку подключения к службе Azure для аутентификации Azure DevOps в подписке Azure. Средства автоматизации также создают конвейер CD, который обеспечивает непрерывное развертывание на виртуальной машине Azure. Чтобы получить дополнительные сведения о конвейере непрерывного развертывания в Azure DevOps, выполните следующие действия:
Выберите Сборка и выпуск, а затем — Выпуски. DevOps Starter создаст конвейер выпуска для управления развертываниями в Azure.
Щелкните многоточие (…) рядом с конвейером выпуска и выберите Изменить. Конвейер выпуска содержит конвейер, в котором определен процесс выпуска.
В разделе Артефакты выберите Удалить. Конвейер сборки, который вы изучали на предыдущих этапах, создает выходные файлы, используемые в качестве артефакта.
Рядом со значком Удалить выберите Триггер непрерывного развертывания. В этом конвейере выпуска активирован триггер непрерывного развертывания, выполняющий развертывание каждый раз, когда становится доступным новый артефакт сборки. При желании можно отключить триггер, чтобы выполнить развертывание вручную.
В области слева выберите Задачи, а затем выберите свою среду. Задачи — это действия, которые выполняются в процессе развертывания. Эти действия объединены в этапы. Конвейер выпуска включает два этапа:
Первый этап содержит задачу развертывания для группы ресурсов Azure, которая выполняет две операции:
- настраивает виртуальную машину для развертывания;
- добавляет новую виртуальную машину в группу развертывания Azure DevOps. Группа развертывания виртуальных машин в Azure DevOps управляет логическими группами, объединяющими целевые компьютеры развертывания.
На втором этапе задача управления веб-приложением IIS создает веб-сайт IIS в виртуальной машине. Для развертывания сайта создана вторая задача развертывания веб-приложения IIS.
В области справа выберите Просмотреть выпуски, чтобы отобразился журнал выпусков.
Щелкните многоточие (…) рядом с одним из выпусков и выберите Открыть. Отобразится меню с несколькими элементами, такими как сводка выпуска, связанные рабочие элементы и тесты.
Щелкните Фиксации. В этом представлении отображаются фиксации кода, связанные с текущим развертыванием. Сравните выпуски, чтобы просмотреть различия между развертываниями.
Выберите Журналы. Журналы содержат полезную информацию о процессе развертывания. Их можно просматривать во время и после развертывания.
Фиксация изменений в Azure Repos и их автоматическое развертывание в Azure
Теперь вы готовы к совместной работе над приложением с использованием процесса CI/CD для автоматического развертывания последних результатов работы на своем веб-сайте. При каждом изменении в репозитории Git запускается сборка в Azure DevOps и конвейер CD выполняет развертывание в Azure. Используйте описанную в этом разделе процедуру или другой метод, чтобы зафиксировать изменения в репозитории. Изменения кода инициируют процесс CI/CD и автоматически развертывают ваши новые изменения на веб-сайте IIS на виртуальной машине Azure.
В области слева щелкните Код и откройте репозиторий.
Откройте каталог Views\Home, затем нажмите многоточие (...) рядом с файлом Index.cshtml и щелкните Изменить.
Внесите изменения в файл, например, измените определенный текст внутри одного из тегов div.
В правом верхнем углу выберите Зафиксировать, после чего снова нажмите Зафиксировать, чтобы отправить изменения. Через несколько секунд начнется процесс сборки в Azure DevOps, после чего будет выполнена операция выпуска для развертывания изменений. Вы можете отслеживать состояние сборки на панели мониторинга DevOps Starter или в браузере в своей организации Azure DevOps.
По завершении выпуска обновите приложение, чтобы проверить изменения.
Настройка мониторинга Azure Application Insights
С помощью Azure Application Insights можно легко отслеживать производительность и использование своего приложения. Azure DevOps Starter автоматически настраивает ресурс Application Insights для вашего приложения. Вы можете дополнительно настроить различные предупреждения и возможности мониторинга по мере необходимости.
На портале Azure перейдите к панели мониторинга DevOps Starter.
В правом нижнем углу щелкните ссылку Application Insights для вашего приложения. Откроется панель Application Insights. Это представление содержит информацию об использовании, производительности и доступности приложения.
Щелкните Диапазон времени, а затем выберите За последний час. Щелкните Обновить, чтобы отфильтровать результаты. Теперь вы можете просмотреть все действия за последние 60 минут.
Чтобы закрыть представление диапазона времени, щелкните x.
Выберите Оповещения и щелкните Добавить оповещение метрики.
Введите имя оповещения.
В раскрывающемся списке Метрика просмотрите различные оповещения метрик. По умолчанию оповещение отображается, если время отклика сервера превышает 1 секунду. Различные оповещения можно легко настроить, чтобы улучшить возможности мониторинга приложения.
Установите флажок Notify via Email owners, contributors, and readers (Уведомлять по электронной почте владельцев, участников и читателей). При желании вы можете выполнять дополнительные действия, когда срабатывает оповещение, реализовав приложение логики в Azure.
Нажмите кнопку ОК, чтобы создать оповещение. Через несколько секунд предупреждение появится на панели мониторинга как активное.
Выйдите из области оповещений и вернитесь на панель Application Insights.
Выберите Доступность, а затем щелкните Добавить тест.
Введите имя теста и нажмите кнопку Создать. Создается простой тест проверки связи для проверки доступности вашего приложения. Через несколько минут результаты тестирования будут доступны, а на панели мониторинга Application Insights отобразится состояние доступности.
Очистка ресурсов
Если вы выполняете тестирование, можно очистить ресурсы, чтобы избежать дополнительных расходов. Ненужную виртуальную машину Azure и связанные ресурсы, созданные в рамках этого руководства, можно удалить. Для этого воспользуйтесь функцией Удалить на панели мониторинга DevOps Starter.
Важно!
Следующая процедура безвозвратно удаляет ресурсы. Функция Удалить безвозвратно удаляет в Azure и в Azure DevOps данные, созданные в проекте DevOps Starter. Выполняйте эту процедуру только после того, как прочли предупреждение.
- На портале Azure перейдите к панели мониторинга DevOps Starter.
- В правом верхнем углу выберите Удалить.
- В окне предупреждения выберите Да, чтобы удалить ресурсы без возможности восстановления.
Вы можете по желанию изменить эти конвейеры сборки и выпуска в соответствии с потребностями вашей команды. Вы также можете использовать этот шаблон 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 (Настройка многоэтапного конвейера для непрерывного развертывания)