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