Введение

Завершено

Представьте, что вы работаете в качестве инженера программного обеспечения для онлайн-магазина одежды на открытом воздухе. Вы несете ответственность за развертывание и обновление онлайн-магазина розничной торговли, облачного, микрослужбного приложения .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.