0.2.16 • Published 3 years ago

ci-executer v0.2.16

Weekly downloads
3
License
ISC
Repository
github
Last release
3 years ago

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строкапуть к файлу с настройкой задачи (все другие ключи игнорируется)
0.2.16

3 years ago

0.2.15

3 years ago

0.2.14

3 years ago

0.2.13

3 years ago

0.2.12

3 years ago

0.2.11

3 years ago

0.2.10

3 years ago

0.2.9

3 years ago

0.2.8

3 years ago

0.2.7

3 years ago

0.2.6

3 years ago

0.2.5

3 years ago

0.1.5

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.1

3 years ago