При создании конвейера непрерывной интеграции и предоставления (CICD) в vRealize Automation Code Stream можно вручную добавить этапы и задачи. Чтобы спланировать собственную сборку CICD, требуется собрать необходимую информацию, затем создать конвейер и вручную добавить в него этапы и задачи.

Необходимо спланировать этапы непрерывной интеграции (CI) и непрерывного предоставления (CD) конвейера. После создания конвейера и его запуска можно отслеживать тенденции по всем циклам его выполнения.

Чтобы спланировать этапы CI и CD для конвейера, до его создания необходимо убедиться, что все требования соблюдены.

Планирование внешних и внутренних требований

Чтобы создать конвейер на основе этого образца плана, нужно использовать узел Docker, репозиторий Git, Maven и несколько средств сборки для последующей обработки.

Необходимые конечные точки и репозитории:

  • Репозиторий исходного кода Git, куда разработчики могут сохранять код. Когда разработчики сохраняют изменения, vRealize Automation Code Stream отправляет последнюю порцию кода в конвейер.
  • Конечная точка 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 для запуска конвейера.

Создание конвейера непрерывной интеграции и предоставления и настройка рабочей области

Необходимо создать конвейер, затем настроить рабочую область, входные параметры конвейера и задачи.

Чтобы создать конвейер, выберите Конвейеры > Создать конвейер > Пустой холст.

Создание конвейера на пустом холсте.

На вкладке «Рабочая область» введите сведения о непрерывной интеграции.

  • Добавьте узел сборки Docker.
  • Введите URL-адрес образа построителя.
  • Выберите конечную точку реестра образов, чтобы конвейер мог извлекать из него образ. Контейнер запускает задачи CI и развертывает образ. Если реестру требуются учетные данные, сначала необходимо создать конечную точку реестра образов, а затем выбрать ее, чтобы узел мог извлечь образ из реестра.
  • Добавьте артефакты, которые необходимо кэшировать. Для успешного выполнения сборки артефакты, например, каталоги, загружаются как зависимости. Кэш — это расположение, в котором находятся такие артефакты. Например, зависимые артефакты могут включать в себя каталог .m2 для Maven и каталог node_modules для Node.js. Эти каталоги кэшируются для различных циклов конвейера с целью экономии времени в ходе сборки.

    Настройка рабочей области в конвейере.

На вкладке «Входные данные» настройте входные параметры конвейера.

  • Если конвейер будет использовать входные параметры из события запуска Git, Gerrit или Docker, выберите тип триггера для автоматической вставки параметров. В число событий могут входить «Изменение темы» для Gerrit или Git или «Имя владельца события» для Docker. Если в конвейере не будут использоваться входные параметры, передаваемые событием, оставьте значение параметра «Автоматическая вставка параметров» Нет.
  • Чтобы применить значение и описание к входному параметру конвейера, щелкните три вертикальные точки, а затем Изменить. Введенное значение используется в качестве входных данных для задач, этапов или уведомлений.
  • Чтобы добавить входной параметр конвейера, щелкните Добавить. Например, можно добавить параметр approvers, который показывает значение по умолчанию для каждого цикла выполнения; его можно переопределить для отображения другого утверждающего лица во время выполнения.
  • Чтобы добавить или удалить вставленный параметр, щелкните Добавить/удалить вставленный параметр. Например, можно удалить неиспользуемый параметр, чтобы уменьшить помехи на странице результатов и отображать только используемые входные параметры.

    Настройка вкладки «Входные параметры» в конвейере CICD.

Настройте конвейер, чтобы протестировать код.

  • Добавьте и настройте задачу CI.
  • Добавьте в код шаги для запуска mvn test.
  • Запустите средства сборки для последующей обработки, такие как JUnit, JaCoCo, FindBugs и Checkstyle, чтобы выявить проблемы после запуска задачи.

    Настройка задачи конвейера для тестирования кода.

Настройте конвейер для сборки кода.

  • Добавьте и настройте задачу CI.
  • Добавьте в код шаги для запуска mvn clean install.
  • Укажите расположение и имя файла JAR, чтобы сохранить артефакт.

    Настройка задачи конвейера для сборки кода.

Настройте конвейер для публикации образа на узле Docker:

  • Добавьте и настройте задачу CI.
  • Добавьте действия по отправке, экспорту, сборке и передаче образа.
  • Добавьте ключ экспорта для IMAGE для применения в следующей задаче.

    Настройка задачи конвейера для публикации образа на узле Docker.

После настройки рабочей области, входных параметров, задач тестирования и задач сборки сохраните конвейер.

Включение и запуск конвейера

После настройки конвейера с определением этапов и задач его можно сохранить и включить.

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

После успешного выполнения конвейера могут потребоваться следующие действия.

  • Проверьте выполнение конвейера и просмотрите результаты этапов, содержащих задачи.
  • В рабочей области выполнения конвейера найдите сведения о своем контейнере и клонированном репозитории Git.
  • В рабочей области просмотрите результаты работы средств последующей обработки и проверьте наличие ошибок, объем проверенного кода, наличие проблем со стилем.
  • Убедитесь, что артефакт сохранен. Также убедитесь, что образ экспортирован с именем и значением IMAGE.
  • Перейдите в репозиторий Docker и убедитесь, что конвейер опубликовал контейнер.

Подробный пример, показывающий, как vRealize Automation Code Stream непрерывно интегрирует код, см. в разделе Настройка непрерывной интеграции кода из репозитория GitHub или GitLab в конвейер vRealize Automation Code Stream.