Для создания конвейера непрерывной интеграции и предоставления (CICD) в vRealize Automation Code Stream можно использовать смарт-шаблон конвейера CICD. Чтобы спланировать собственную сборку CICD, необходимо собрать сведения, необходимые для заполнения смарт-шаблона конвейера, прежде чем использовать его для создания конвейера в данном примере плана.
После ввода информации в смарт-шаблон конвейера при его сохранении создается конвейер, который включает в себя этапы и задачи. Он также указывает место развертывания образа на основе выбранных типов среды, таких как «Разработка» и «Производственная среда». Конвейер опубликует образ Docker и выполнит действия, необходимые для его запуска. После запуска конвейера можно отслеживать тенденции по всем циклам его выполнения.
Чтобы создать конвейер CICD, необходимо спланировать этапы его непрерывной интеграции (CI) и непрерывного предоставления (CD).
Если конвейер включает в себя образ из центра Docker, перед запуском конвейера необходимо убедиться, что в этом образе есть встроенная функция cURL. При выполнении конвейера vRealize Automation Code Stream загружает двоичный файл, в котором для выполнения команд используется функция cURL.
Планирование этапа непрерывной интеграции (CI)
Чтобы спланировать этап непрерывной интеграции конвейера, необходимо задать внешние и внутренние требования, а также определить сведения, которые нужно ввести в разделе CI смарт-шаблона конвейера. Здесь приведен краткий обзор.
Необходимые конечные точки и репозитории:
- Репозиторий исходного кода Git, куда разработчики могут сохранять код. Когда разработчики сохраняют изменения, vRealize Automation Code Stream отправляет последнюю порцию кода в конвейер.
- Конечная точка Git для репозитория, в котором находится исходный код разработчика.
- Конечная точка Docker для узла сборки Docker, который будет выполнять команды сборки внутри контейнера.
- Конечная точка Kubernetes, благодаря которой vRealize Automation Code Stream может развертывать образ в кластере Kubernetes.
- Образ построителя, который создает контейнер, в котором выполняются тесты непрерывной интеграции.
- Конечная точка реестра образов, с помощью которой узел сборки Docker может извлекать из него образ построителя.
Потребуется доступ к проекту. В проекте собираются все рабочие элементы, в том числе конвейер, конечные точки и панели управления. Проверьте, являетесь ли вы участником проекта в vRealize Automation Code Stream. Если нет, попросите администратора vRealize Automation Code Stream добавить вас в проект в качестве участника. См. раздел Добавление проекта в vRealize Automation Code Stream.
Потребуется веб-перехватчик Git, позволяющий vRealize Automation Code Stream использовать триггер Git, который запускает конвейер, когда разработчики вносят изменения в код. См. раздел Как использовать триггер Git в vRealize Automation Code Stream для запуска конвейера.
Наборы средств сборки:
- Тип сборки, например, Maven.
- Все используемые средства сборки после обработки, такие как JUnit, JaCoCo, Checkstyle и FindBugs.
Средство публикации:
- Средство, например Docker, которое будет развертывать контейнер сборки.
- Тег образа, который может быть идентификатором отправленного кода или номером сборки.
Рабочая область сборки:
- Узел сборки Docker, который является конечной точкой Docker.
- Реестр образов. Раздел непрерывной интеграции в конвейере извлекает образ из выбранной конечной точки реестра. Контейнер запускает задачи CI и развертывает образ. Если реестру требуются учетные данные, сначала необходимо создать конечную точку реестра образов, а затем выбрать ее, чтобы узел мог извлечь образ из реестра.
- URL-адрес образа построителя, который создает контейнер, где выполняются тесты непрерывной интеграции.
Планирование этапа непрерывного предоставления (CD)
Чтобы спланировать этап CD в конвейере, необходимо задать внешние и внутренние требования, а также определить сведения, которые нужно ввести в разделе непрерывного предоставления в смарт-шаблоне конвейера.
Необходимые конечные точки:
- Конечная точка Kubernetes, благодаря которой vRealize Automation Code Stream может развертывать образ в кластере Kubernetes.
Типы среды и файлы:
- Все типы сред, где vRealize Automation Code Stream будет развертывать приложение, например «Разработка» и «Производственная среда». Смарт-шаблон конвейера создает этапы и задачи в конвейере на основе выбранных типов среды.
Табл. 1. Этапы конвейера, создаваемые смарт-шаблоном конвейера непрерывной интеграции и предоставления Содержимое конвейера Функции Этап сборки — публикации Сборка и тестирование кода, создание образа построителя и публикация образа на узле Docker. Этап разработки Использование кластера разработки (AWS) Amazon Web Services для создания и развертывания образа. На этом этапе можно создать пространство имен в кластере и секретный ключ. Этап переноса в производственную среду Использование производственной версии выпуска VMware Tanzu Kubernetes Grid Integrated Edition (ранее — VMware Enterprise PKS) для развертывания образа в производственном кластере Kubernetes. - Файл Kubernetes YAML, выбираемый в разделе непрерывного предоставления в смарт-шаблоне конвейера CICD.
Чтобы применить файл, нажмите Выбрать, выберите файл Kubernetes YAML и щелкните Обработать. В смарт-шаблоне конвейера отображаются доступные службы и среды развертывания. Выберите службу, конечную точку кластера и стратегию развертывания. Например, чтобы использовать модель развертывания Canary, выберите Canary и введите значение в процентах для этапа развертывания.
Пример использования смарт-шаблона конвейера для создания конвейера для развертывания Blue-Green см. в разделе Как развернуть приложение vRealize Automation Code Stream в среде Blue-Green.
Создание конвейера CICD с помощью смарт-шаблона конвейера
После сбора всей информации и настройки нужных параметров можно создать конвейер на основе смарт-шаблона конвейера CICD.
В разделе «Конвейеры» выберите
.
Выберите смарт-шаблон конвейера CICD.
Заполните шаблон и сохраните конвейер с этапами, которые он формирует. Если необходимо внести окончательные изменения, конвейер можно отредактировать и сохранить.
Затем можно включить конвейер и запустить его. По окончании его работы можно выполнить следующие операции.
- Убедитесь, что конвейер успешно выполнен. Щелкните Выполняемые элементы и найдите свой конвейер. В случае сбоя исправьте ошибки и запустите его повторно.
- Убедитесь, что веб-перехватчик Git работает правильно. На вкладке Git Действие отобразятся события. Щелкните .
- Перейдите на панель управления конвейером и просмотрите тенденции. Щелкните Панели управления и найдите панель управления своего конвейера. Кроме того, можно создать настраиваемую панель управления для формирования отчета о дополнительных ключевых показателях эффективности.
См. подробный пример в разделе Настройка непрерывной интеграции кода из репозитория GitHub или GitLab в конвейер vRealize Automation Code Stream.