Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

ci-executer

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ci-executer

Job executer for CI

latest
Source
npmnpm
Version
0.2.16
Version published
Maintainers
1
Created
Source

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

Keywords

ci

FAQs

Package last updated on 11 Dec 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts