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

Каждый конвейер включает в себя этапы и задачи. Этапы представляют собой стадии процесса разработки, а задачи позволяют выполнять действия, обеспечивающие переход программного приложения с одного этапа на другой.

Конвейеры в vRealize Automation Code Stream

Конвейер — это модель непрерывной интеграции и непрерывного предоставления программного обеспечения в процессе его выпуска. Он переносит ПО из репозитория исходного кода в средства тестирования, и затем — в производственную среду. Конвейер состоит из нескольких последовательных этапов, а также из задач, представляющих собой действия в рамках цикла выпуска программного обеспечения. Конвейер обеспечивает переход программного приложения с одного этапа на другой.

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

Создание конвейеров

Можно создать конвейер с пустого холста, используя смарт-шаблон конвейера или импортировав код YAML.

При создании конвейера с помощью пустого холста требуется добавить этапы, задачи и подтверждения. Конвейер автоматизирует процесс сборки, тестирования, развертывания и выпуска приложения. Задачи, выполняемые в рамках каждого этапа, запускают действия, с помощью которых обеспечивается сборка, тестирование и выпуск кода в рамках соответствующего этапа.

Табл. 1. Примеры этапов конвейера и его использования
Пример этапа Примеры использования
Разработка

На этапе разработки можно подготовить компьютер, извлечь артефакт, добавить задачу сборки для создания узла Docker, который будет использоваться для непрерывной интеграции кода, и т. д.

Например:

Тестирование

На этапе тестирования можно добавить задачу Jenkins, чтобы выполнить тестирование программного приложения, а также включить средства тестирования для последующей обработки, такие как JUnit, JaCoCo и др.

Например:

Производственная среда

На этапе переноса в производственную среду можно интегрировать облачный шаблон в Cloud Assembly для подготовки инфраструктуры, развертывания программного обеспечения в кластере Kubernetes и выполнения других задач.

Например:

Конвейер можно экспортировать как файл YAML. Щелкните Конвейеры, выберите карточку конвейера, затем щелкните Действия > Экспорт.

Утверждение конвейеров

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

  • Сведения о том, как настроить обязательное подтверждение конвейера путем включения в конвейер задачи «Пользовательская операция», см. в разделе Запуск конвейера и просмотр результатов. Эта задача отправляет уведомление по электронной почте пользователю, который должен выполнить проверку. Прежде чем работа конвейера будет продолжена, проверяющий должен утвердить либо отклонить действие. Если срок действия задачи «Пользовательская операция» задан в днях, часах или минутах, пользователь должен одобрить конвейер до его истечения. В противном случае работа контейнера ожидаемо завершается сбоем.
  • Службу vRealize Automation Code Stream можно настроить так, чтобы в случае сбоя задачи или этапа на любом этапе конвейера в ней создавался запрос Jira. См. раздел Создание запроса Jira в Code Stream при неудачном выполнении задачи конвейера.

Запуск конвейеров

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

Дополнительные сведения о триггерах, поддерживаемых службой vRealize Automation Code Stream, см. в разделе Запуск конвейеров в Code Stream.