CLI
Pipeliner устанавливается как консольная утилита pipeliner (см. packagedef → ИсполняемыйФайл).
Команда gitlab
Генерация пайплайна для GitLab:
pipeliner gitlab <путь_к_файлу>Пример:
pipeliner gitlab .gitlab-ci.ymlКоманда загружает стадии из каталога ./pipeline (все *.os файлы, включая вложенные), выполняет их и пишет накопленный пайплайн в указанный файл.
Структура каталога pipeline
Каждый *.os-файл в каталоге pipeline — это стадия пайплайна. Файлы загружаются автоматически:
проект/
├── pipeline/
│ ├── build.os
│ ├── test.os
│ └── deploy.osПример содержимого pipeline/build.os:
#Использовать pipeliner
#Использовать autumn
#Использовать oscript-yaml
Поделка = Новый Поделка();
Поделка.ЗапуститьПриложение();
Фабрика = Поделка.НайтиЖелудь("ФабрикаЗадач");
Сборка = Фабрика.Новая();
Сборка.Наименование = "build";
Сборка.Стадия = "build";
Сборка.Скрипты.Добавить("make build");Фабрика накапливает задачи из всех загруженных файлов, генератор собирает их в один YAML.
Docker
Библиотеку можно запускать в контейнере — Dockerfile.local собирает образ из исходников:
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 из контекста сборки — без него собранный пакет из рабочего каталога ломает повторную сборку образа.
