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