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

В рабочей области конвейера необходимо выбрать Docker или Kubernetes и указать конечную точку узла Docker или конечную точку API-интерфейса Kubernetes. Платформы Docker и Kubernetes обеспечивают управление всем жизненным циклом контейнера, развертываемого vRealize Automation Code Stream для выполнения задачи непрерывной интеграции или настраиваемой задачи.

  • Для рабочей области Docker требуется конечная точка узла Docker, URL-адрес образа построителя, реестр образов, рабочий каталог, кэш, переменные среды, ограничение ЦП и ограничение памяти. Также можно создать клон репозитория Git.
  • Для рабочей области Kubernetes требуется конечная точка API-интерфейса Kubernetes, URL-адрес образа построителя, реестр образов, пространство имен, порт узла, запрос постоянного тома, рабочий каталог, переменные среды, ограничение ЦП и ограничение памяти. Также можно создать клон репозитория Git.

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

Табл. 1. Зоны рабочей области, сведения и доступность
Выбор Описание Сведения и доступность
Тип Тип рабочей области. Параметр, доступный в Docker и Kubernetes.
Конечная точка узла Конечная точка узла, где выполняется непрерывная интеграция и настраиваемые задачи.

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

Параметр доступен в рабочей области Kubernetes при выборе конечной точки API-интерфейса Kubernetes.

URL-адрес образа построителя Имя и расположение образа построителя. С помощью этого образа создается контейнер на узле Docker и кластере Kubernetes. Задачи непрерывной интеграции и настраиваемые задачи выполняются внутри этого контейнера.

Пример: fedora:latest

Образ построителя должен включать curl или wget.

Реестр образов Если образ построителя доступен в реестре и для реестра требуются учетные данные, необходимо сначала создать конечную точку реестра образов, а затем выбрать ее здесь, чтобы образ можно было извлечь из реестра. Параметр доступен в рабочих областях Docker и Kubernetes.
Рабочий каталог Рабочий каталог — это расположение в контейнере, где выполняются действия задачи непрерывной интеграции, а также клонируется код, когда веб-перехватчик Git запускает выполнение конвейера. Параметр, доступный в Docker и Kubernetes.
Пространство имен Если не ввести пространство имен, vRealize Automation Code Stream создаст уникальное имя в указанном кластере Kubernetes. Параметр рабочей области Kubernetes.
Порт узла

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

Если порт не выбран, vRealize Automation Code Stream будет использовать временный порт, назначаемый Kubernetes. Необходимо убедиться, что правила брандмауэра настроены так, чтобы разрешать вхождение в диапазон временных портов (30000–32767).

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

Параметр рабочей области Kubernetes.
Запрос постоянного тома

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

Дополнительные сведения о создании запроса постоянного тома см. в документации Kubernetes на странице https://kubernetes.io/docs/concepts/storage/persistent-volumes/.

Параметр рабочей области Kubernetes.
Переменные сред Пары «ключ-значение», которые здесь передаются, будут доступны для всех задач непрерывной интеграции и настраиваемых задач в конвейере при его выполнении.

Параметр, доступный в Docker и Kubernetes.

Здесь можно передать ссылки на переменные.

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

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

Ограничения ЦП Ограничения ресурсов ЦП для контейнера непрерывной интеграции или контейнера настраиваемых задач. Значение по умолчанию — 1.
Ограничения памяти Ограничения памяти для контейнера непрерывной интеграции или контейнера настраиваемых задач. Единицей является МБ.
Клон Git Когда вы выбираете клон Git и веб-перехватчик Git инициирует конвейер, код клонируется в рабочую область (контейнер). Если параметр клон Git не включен, необходимо настроить дополнительную явную задачу непрерывной интеграции в конвейере, чтобы сначала клонировать код, а затем выполнять другие шаги, такие как сборка и тестирование.
Кэш

Рабочая область vRealize Automation Code Stream позволяет кэшировать набор каталогов или файлов для ускорения последующих циклов выполнения конвейера. К примерам этих каталогов относятся .m2 и npm_modules. Если кэширование данных между циклами выполнения конвейера не требуется, не нужно указывать запрос постоянного тома.

Такие артефакты, как файлы или каталоги в контейнере, кэшируются для повторного использования в циклах выполнения конвейера. Например, можно кэшировать папку node_modules или .m2. Кэш принимает список путей.

Например:

workspace:
  type: K8S
  endpoint: K8S-Micro
  image: fedora:latest
  registry: Docker Registry
  path: ''
  cache:
    - /path/to/m2
    - /path/to/node_modules

Параметр, специфичный для типа рабочей области.

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

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

При использовании конечной точки API-интерфейса Kubernetes в рабочей области конвейера vRealize Automation Code Stream создает необходимые для выполнения задачи непрерывной интеграции или настраиваемой задачи ресурсы Kubernetes, такие как ConfigMap, Secret и Pod. vRealize Automation Code Stream обменивается данными с контейнером с помощью порта узла.

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