Знакомство

Завершено

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

Чтобы выполнить требования к проекту и улучшить гибкие методики разработки команды, вы решили сравнить непрерывную интеграцию и непрерывное развертывание (CI/CD) с помощью GitHub Actions и Azure Pipelines. Конвейеры CI/CD используют ряд автоматизированных шагов для компиляции и развертывания приложений с этапа сборки во всех средах окружения.

Поскольку текущий веб имеет архитектуру микрослужб, и каждая микрослужба развертывается независимо, вы начинаете с настройки CI/CD для одного сервиса.

Веб-API .NET, именуемый служба продуктов , поддерживает все функции каталога бэкенда веб-сайта. В этом модуле вы реализуете конвейер CI/CD для службы продуктов.

В этом модуле описаны следующие действия.

  • Настроить аутентификацию GitHub Actions для работы с реестром контейнеров.
  • Безопасно храните конфиденциальную информацию, которую использует GitHub Actions.
  • Реализуйте действие для создания образа контейнера для микрослужбы.
  • Измените и зафиксируйте код микрослужбы, чтобы активировать сборку.
  • Реализуйте действие для развертывания обновленного контейнера в кластере Службы Azure Kubernetes (AKS).
  • Измените и зафиксируйте изменения в диаграмме Helm для активации развертывания.
  • Верните микросервис к предыдущему развертыванию.

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

Важный

Чтобы избежать ненужных расходов в подписке Azure, обязательно удалите ресурсы Azure при завершении работы с этим модулем.

Необходимые условия

  • Концептуальное знание практики DevOps.
  • Концептуальное знание контейнеров, Docker и AKS.
  • Доступ к подписке Azure с разрешениями владельца .
  • Доступ к учетной записи GitHub.
  • Возможность запускать контейнеры для разработки в Visual Studio Code или GitHub Codespaces, настроенные как описано в следующем разделе.

Контейнер разработки

Этот модуль включает файлы конфигурации, определяющие контейнер разработки или контейнер разработки. Использование контейнера разработки гарантирует стандартизованную среду, предварительно настроенную с помощью необходимых средств.

Контейнер разработки может выполняться в любой из двух сред. Перед началом работы выполните действия, описанные в одной из следующих ссылок, чтобы настроить среду, включая установку Docker и необходимые расширения Visual Studio Code.