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

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

Если конвейер включает в себя образ из Docker Hub, перед запуском конвейера необходимо убедиться, что в этом образе есть встроенная функция cURL или wget. При выполнении конвейера Automation Pipelines загружает двоичный файл, в котором для выполнения команд используется функция cURL или wget.

Рабочая область конвейера Automation Pipelines поддерживает Docker и Kubernetes для выполнения задач непрерывной интеграции и настраиваемых задач.

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

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

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

В этом примере используется рабочая область Docker.

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

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

  • Репозиторий исходного кода Git, куда разработчики могут сохранять код. Когда разработчики сохраняют изменения, Automation Pipelines отправляет последнюю порцию кода в конвейер.
  • Конечная точка Docker для узла сборки Docker, который будет выполнять команды сборки внутри контейнера.
  • Образ построителя, который создает контейнер, в котором выполняются тесты непрерывной интеграции.
  • Конечная точка реестра образов, с помощью которой узел сборки Docker может извлекать из него образ построителя.

Потребуется доступ к проекту. В проекте собираются все рабочие элементы, в том числе конвейер, конечные точки и панели управления. Проверьте, являетесь ли вы участником проекта в Automation Pipelines. Если нет, попросите администратора Automation Pipelines добавить вас в проект в качестве участника. См. раздел Добавление проекта в Automation Pipelines.

Потребуется веб-перехватчик Git, позволяющий Automation Pipelines использовать триггер Git, который запускает конвейер, когда разработчики вносят изменения в код. См. раздел Как использовать триггер Git в Automation Pipelines для запуска конвейера.

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

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

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

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

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

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

    При настройке конвейера вручную настройка рабочей области для конвейера выполняется на вкладке Рабочая область.

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

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

    При создании конвейера непрерывной интеграции и доставки вручную настройка входных параметров выполняется на вкладке Входные данные.

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

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

    Для тестирования кода настройте задачу непрерывной интеграции (CI), используя шаги и средства сборки после обработки.

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

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

    Для сборки кода добавьте необходимые действия в задачу CI.

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

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

    Для публикации образа на узле Docker добавьте шаги и ключ экспорта в задачу CI.

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

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

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

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

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

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

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