Чтобы выполнять задачи непрерывной интеграции и настраиваемые задачи, необходимо настроить рабочую область конвейера Code Stream.
В рабочей области конвейера выберите Docker или Kubernetes для параметра Тип и укажите соответствующие конечные точки. Платформы Docker и Kubernetes обеспечивают управление всем жизненным циклом контейнера, развертываемого Code Stream для выполнения задачи непрерывной интеграции или настраиваемой задачи.
- Для рабочей области Docker требуется конечная точка узла Docker, URL-адрес образа построителя, реестр образов, рабочий каталог, кэш, переменные среды, ограничение ЦП и ограничение памяти. Также можно создать клон репозитория Git.
- Для рабочей области Kubernetes требуется конечная точка API-интерфейса Kubernetes, URL-адрес образа построителя, реестр образов, пространство имен, порт узла, запрос постоянного тома, рабочий каталог, переменные среды, ограничение ЦП и ограничение памяти. Также можно создать клон репозитория Git.
При настройке рабочей области конвейера используется много общих параметров, а также параметры, специфичные для типа рабочей области, как описано в следующей таблице.
Выбор | Описание | Сведения и доступность |
---|---|---|
Тип | Тип рабочей области. | Параметр, доступный в Docker и Kubernetes. |
Конечная точка узла | Конечная точка узла, где выполняется непрерывная интеграция и настраиваемые задачи. | Параметр доступен в рабочей области Docker при выборе конечной точки узла Docker. Параметр доступен в рабочей области Kubernetes при выборе конечной точки API-интерфейса Kubernetes. |
URL-адрес образа построителя | Имя и расположение образа построителя. С помощью этого образа создается контейнер на узле Docker и кластере Kubernetes. Задачи непрерывной интеграции и настраиваемые задачи выполняются внутри этого контейнера. | Пример: fedora:latest Образ построителя должен включать curl или wget. |
Реестр образов | Если образ построителя доступен в реестре и для реестра требуются учетные данные, необходимо создать конечную точку реестра образов, а затем выбрать ее здесь, чтобы образ можно было извлечь из реестра. | Параметр доступен в рабочих областях Docker и Kubernetes. |
Рабочий каталог | Рабочий каталог — это расположение в контейнере, где выполняются действия задачи непрерывной интеграции, а также клонируется код, когда веб-перехватчик Git запускает выполнение конвейера. | Параметр, доступный в Docker и Kubernetes. |
Пространство имен | Если не ввести пространство имен, Code Stream создаст уникальное имя в указанном кластере Kubernetes. | Параметр рабочей области Kubernetes. |
Прокси-сервер | Чтобы обеспечить связь с модулем рабочей области в кластере Kubernetes, Code Stream развертывает в пространстве имен Выбранный параметр зависит от характера развернутых кластеров Kubernetes.
|
|
Порт узла | Code Stream использует порт узла для обмена данными с контейнером, выполняемым в кластере Kubernetes. Если порт не выбран, Code Stream будет использовать временный порт, назначаемый Kubernetes. Необходимо убедиться, что правила брандмауэра настроены так, чтобы разрешать вхождение в диапазон временных портов (30000–32767). При вводе порта необходимо убедиться, что он не используется другой службой в кластере, а также что этот порт разрешен правилами брандмауэра. |
Параметр рабочей области Kubernetes. |
Запрос постоянного тома | Обеспечивает сохранение файлов в рабочей области Kubernetes для всех циклов выполнения конвейера. При указании имени запроса постоянного тома в нем можно хранить журналы, артефакты и кэш. Дополнительные сведения о создании запроса постоянного тома см. в документации Kubernetes на странице https://kubernetes.io/docs/concepts/storage/persistent-volumes/. |
Параметр рабочей области Kubernetes. |
Переменные сред | Пары «ключ-значение», которые здесь передаются, будут доступны для всех задач непрерывной интеграции и настраиваемых задач в конвейере при его выполнении. | Параметр, доступный в Docker и Kubernetes. Здесь можно передать ссылки на переменные. Переменные среды, указываемые в рабочей области, передаются во все задачи непрерывной интеграции и настраиваемые задачи в конвейере. Если не передать переменные среды здесь, их необходимо явно передать в каждую задачу непрерывной интеграции и настраиваемую задачу в конвейере. |
Ограничения ЦП | Ограничения ресурсов ЦП для контейнера непрерывной интеграции или контейнера настраиваемых задач. | Значение по умолчанию — 1. |
Ограничения памяти | Ограничения памяти для контейнера непрерывной интеграции или контейнера настраиваемых задач. | Единицей является МБ. |
Клон Git | Когда вы выбираете клон Git и веб-перехватчик Git инициирует конвейер, код клонируется в рабочую область (контейнер). | Если вы не включили параметр клон Git, необходимо настроить другую явную задачу непрерывной интеграции в конвейере, чтобы сначала клонировать код, а затем выполнять другие шаги, такие как сборка и тестирование. |
Кэш | Рабочая область 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 в рабочей области конвейера Code Stream создает необходимые для выполнения задачи непрерывной интеграции или настраиваемой задачи ресурсы Kubernetes, такие как ConfigMap, Secret и Pod. Code Stream обменивается данными с контейнером с помощью порта узла.
Чтобы предоставить общий доступ к данным для всех циклов выполнения конвейера, необходимо указать запрос постоянного тома. Code Stream подключит запрос постоянного тома к контейнеру, чтобы обеспечить хранение данных и его использование для последующих циклов выполнения конвейера.