Skip to content

CLI

Pipeliner устанавливается как консольная утилита pipeliner (см. packagedefИсполняемыйФайл).

Команда gitlab

Генерация пайплайна для GitLab:

sh
pipeliner gitlab <путь_к_файлу>

Пример:

sh
pipeliner gitlab .gitlab-ci.yml

Команда загружает стадии из каталога ./pipeline (все *.os файлы, включая вложенные), выполняет их и пишет накопленный пайплайн в указанный файл.

Структура каталога pipeline

Каждый *.os-файл в каталоге pipeline — это стадия пайплайна. Файлы загружаются автоматически:

проект/
├── pipeline/
│   ├── build.os
│   ├── test.os
│   └── deploy.os

Пример содержимого pipeline/build.os:

bsl
#Использовать pipeliner
#Использовать autumn
#Использовать oscript-yaml

Поделка = Новый Поделка();
Поделка.ЗапуститьПриложение();

Фабрика = Поделка.НайтиЖелудь("ФабрикаЗадач");

Сборка = Фабрика.Новая();
Сборка.Наименование = "build";
Сборка.Стадия = "build";
Сборка.Скрипты.Добавить("make build");

Фабрика накапливает задачи из всех загруженных файлов, генератор собирает их в один YAML.

Docker

Библиотеку можно запускать в контейнере — Dockerfile.local собирает образ из исходников:

sh
docker build -f Dockerfile.local -t pipeliner:local .
docker run --rm -v $(pwd):/app pipeliner:local gitlab /app/.gitlab-ci.yml

Образ базируется на sleemp/oscript:2.1.0, пакет собирается и устанавливается при сборке образа.

Каталог .dockerignore

В репозитории есть .dockerignore, исключающий .git и *.ospx из контекста сборки — без него собранный пакет из рабочего каталога ломает повторную сборку образа.