ci-executer

0.2.16 • Public • Published

CI Executer

Информация

Утилита запускает последовательность задач исходя из среды запуска.

Оглавление

Установка и использование

пример установки: npm install ci-executer -g

вызов справки: ci-executer -h

пример запуска: ci-executer --config ./config.toml

Таблица ключей запуска

Ключ Описание
--version, -v вывести номер версии приложения
--help, -h вызвать справку по ключам запуска
--config, -c путь к файлу конфигурации в формате toml или json, (переменная среды: CI_EXECUTER_CONFIG_PATH)
--scope, -s Имя пространства выполнения, (переменная среды: CI_EXECUTER_SCOPE)

Конфигурация

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

Секции файла конфигурации

  • logger - настройка логгера (переменная среды: CI_EXECUTER_LOGGER)
  • jobs[] - массив задач (переменная среды: CI_EXECUTER_JOBS)

Пример файла конфигурации config.toml

[logger]                # настройка логгера
    mode = "prod"       # режим (prod или dev или debug)
    enable = true       # активация логгера
    timestamp = "none"  # выводить время лога (none, time или full)
    type = true         # выводить тип лога (true или false)

[[jobs]]                    # массив задач
    name = "job1"           # имя задачи, должно быть уникально
    enable = true           # активация задачи
    exec = "echo hello"     # строка выполнения
    allow_failure = false   # разрешение на неуспех задачи
    logs = false            # отображение логов задачи
    description = "My job1" # описание задачи (Не обязательный)
    scope = "default"       # пространство запуска
    [jobs.env]              # дополнительные переменные среды
        ENV_KEY1 = "key1-val"
        ENV_KEY2 = "key2-val"
    [jobs.when]                     # условия запуска
        environment = "all"         # среда выполнения. all, local и ci
        os = "all"                  # ОС выполнения. all, win и linux
        env = [                     # Список переменных среды. Если должно совпадать значение, то  
            "ENV_KEY1",             # нужно указать его через равно.
            "ENV_KEY2=key2-val",
            "^ENV_KEY3",
            "^ENV_KEY4=key4-val"
        ]

[[jobs]]
    include = "job.json" # путь к файлу с настройкой задачи (все другие ключи игнорируется)

[[jobs]]
    name = "job2"
    enable = true
    exec = "echo hello"
    allow_failure = false
    logs = true
    description = "My job2"
    scope = "default"
    [jobs.env]
        ENV_KEY1 = "key1-val"
        ENV_KEY2 = "key2-val"
    [jobs.when]
        environment = "ci"
        os = "win"
        env = []

Таблица параметров конфигурации

Параметр Тип Значение Описание
logger.mode строка prod режим отображения prod, dev или debug
logger.enable логический true активация логгера
logger.timestamp логический false выводить время лога (true или false)
logger.type логический true выводить тип лога (true или false)
jobs массив [] массив задач
jobs[].name строка имя задачи, должно быть уникально
jobs[].enable логический true активация задачи
jobs[].exec строка строка выполнения
jobs[].allow_failure логический false разрешение на неуспех задачи
jobs[].logs логический false отображение логов задачи
jobs[].description строка описание задачи
jobs[].scope строка default пространство запуска
jobs[].env объект {} дополнительные переменные среды
jobs[].when объект {} условия запуска
jobs[].when.environment объект {} среда выполнения. all, local и ci
jobs[].when.os объект {} ОС выполнения. all, win и linux
jobs[].when.env массив строка[] список переменных среды. Если должно совпадать значение, то нужно указать его через равно
jobs[].include строка путь к файлу с настройкой задачи (все другие ключи игнорируется)

Readme

Keywords

Package Sidebar

Install

npm i ci-executer

Weekly Downloads

11

Version

0.2.16

License

ISC

Unpacked Size

20.9 kB

Total Files

9

Last publish

Collaborators

  • samuray