You've already forked jenkins-lib
forked from jenkins/jenkins-lib
Fix #11. Поиск файлов vrunner.init.json для запуска первичной инициализации
This commit is contained in:
@@ -107,9 +107,10 @@ pipeline1C()
|
|||||||
* `STORAGE_PATH` - путь к хранилищу конфигурации;
|
* `STORAGE_PATH` - путь к хранилищу конфигурации;
|
||||||
* `STORAGE_USER` - параметры авторизации в хранилище вида "username with password".
|
* `STORAGE_USER` - параметры авторизации в хранилище вида "username with password".
|
||||||
* Все "шаги" по умолчанию выключены.
|
* Все "шаги" по умолчанию выключены.
|
||||||
|
* Результаты в формате `allure` ожидаются в каталоге `build/out/allure` или его подкаталогах.
|
||||||
* Инициализация:
|
* Инициализация:
|
||||||
* Если включен шаг `initSteps`, то будет выполняться запуск ИБ с целью запуска обработчиков обновления из БСП. (`initInfobase` -> `runMigration`)
|
* Если включен шаг `initSteps`, то будет выполняться запуск ИБ с целью запуска обработчиков обновления из БСП. (`initInfobase` -> `runMigration`)
|
||||||
* TODO: Если в настройках шага инициализации не заполнен массив дополнительных шагов миграции (`initInfobase` -> `additionalInitializationSteps`), но в каталоге `tools` присутствуют файлы с именами, удовлетворяющими шаблону `vrunner.init*.json`, то автоматически выполняется запуск `vrunner vanessa` с передачей найденных файлов в качестве значения настроек (параметр `--settings`) в порядке лексиграфической сортировки имен файлов.
|
* Если в настройках шага инициализации не заполнен массив дополнительных шагов миграции (`initInfobase` -> `additionalInitializationSteps`), но в каталоге `tools` присутствуют файлы с именами, удовлетворяющими шаблону `vrunner.init*.json`, то автоматически выполняется запуск `vrunner vanessa` с передачей найденных файлов в качестве значения настроек (параметр `--settings`) в порядке лексиграфической сортировки имен файлов.
|
||||||
* BDD:
|
* BDD:
|
||||||
* Если в конфигурационном файле проекта не заполнена настройка `bdd` -> `vrunnerSteps`, то автоматически выполняется запуск `vrunner vanessa --settings tools/vrunner.json`.
|
* Если в конфигурационном файле проекта не заполнена настройка `bdd` -> `vrunnerSteps`, то автоматически выполняется запуск `vrunner vanessa --settings tools/vrunner.json`.
|
||||||
* Синтаксический контроль:
|
* Синтаксический контроль:
|
||||||
|
@@ -78,6 +78,7 @@ sharedLibrary {
|
|||||||
// TODO: retrieve downloaded plugin resource
|
// TODO: retrieve downloaded plugin resource
|
||||||
pluginDependencies {
|
pluginDependencies {
|
||||||
dependency("org.jenkins-ci.plugins", "pipeline-build-step", "2.12")
|
dependency("org.jenkins-ci.plugins", "pipeline-build-step", "2.12")
|
||||||
|
dependency("org.jenkins-ci.plugins", "pipeline-utility-steps", "2.8.0")
|
||||||
dependency("org.jenkins-ci.plugins", "git", "4.4.4")
|
dependency("org.jenkins-ci.plugins", "git", "4.4.4")
|
||||||
dependency("org.6wind.jenkins", "lockable-resources", "2.7")
|
dependency("org.6wind.jenkins", "lockable-resources", "2.7")
|
||||||
dependency("ru.yandex.qatools.allure", "allure-jenkins-plugin", "2.28.1")
|
dependency("ru.yandex.qatools.allure", "allure-jenkins-plugin", "2.28.1")
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
package ru.pulsar.jenkins.library
|
package ru.pulsar.jenkins.library
|
||||||
|
|
||||||
|
import org.jenkinsci.plugins.pipeline.utility.steps.fs.FileWrapper
|
||||||
import org.jenkinsci.plugins.workflow.support.actions.EnvironmentAction
|
import org.jenkinsci.plugins.workflow.support.actions.EnvironmentAction
|
||||||
|
|
||||||
interface IStepExecutor {
|
interface IStepExecutor {
|
||||||
@@ -12,6 +13,10 @@ interface IStepExecutor {
|
|||||||
|
|
||||||
String libraryResource(String path)
|
String libraryResource(String path)
|
||||||
|
|
||||||
|
FileWrapper[] findFiles(String glob)
|
||||||
|
|
||||||
|
FileWrapper[] findFiles(String glob, String excludes)
|
||||||
|
|
||||||
String readFile(String file, String encoding)
|
String readFile(String file, String encoding)
|
||||||
|
|
||||||
void echo(message)
|
void echo(message)
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
package ru.pulsar.jenkins.library
|
package ru.pulsar.jenkins.library
|
||||||
|
|
||||||
|
import org.jenkinsci.plugins.pipeline.utility.steps.fs.FileWrapper
|
||||||
import org.jenkinsci.plugins.workflow.support.actions.EnvironmentAction
|
import org.jenkinsci.plugins.workflow.support.actions.EnvironmentAction
|
||||||
import ru.yandex.qatools.allure.jenkins.config.ResultsConfig
|
import ru.yandex.qatools.allure.jenkins.config.ResultsConfig
|
||||||
|
|
||||||
@@ -37,6 +37,11 @@ class StepExecutor implements IStepExecutor {
|
|||||||
steps.readFile encoding: encoding, file: file
|
steps.readFile encoding: encoding, file: file
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
FileWrapper[] findFiles(String glob, String excludes = '') {
|
||||||
|
steps.findFiles glob: glob, excludes: excludes
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
void echo(Object message) {
|
void echo(Object message) {
|
||||||
steps.echo message
|
steps.echo message
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
package ru.pulsar.jenkins.library.steps
|
package ru.pulsar.jenkins.library.steps
|
||||||
|
|
||||||
|
import org.jenkinsci.plugins.pipeline.utility.steps.fs.FileWrapper
|
||||||
import ru.pulsar.jenkins.library.IStepExecutor
|
import ru.pulsar.jenkins.library.IStepExecutor
|
||||||
import ru.pulsar.jenkins.library.configuration.JobConfiguration
|
import ru.pulsar.jenkins.library.configuration.JobConfiguration
|
||||||
import ru.pulsar.jenkins.library.ioc.ContextRegistry
|
import ru.pulsar.jenkins.library.ioc.ContextRegistry
|
||||||
@@ -46,9 +47,18 @@ class InitInfobase implements Serializable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
steps.catchError {
|
steps.catchError {
|
||||||
config.initInfobaseOptions.additionalInitializationSteps.each {
|
if (config.initInfobaseOptions.additionalInitializationSteps.length == 0) {
|
||||||
Logger.println("Первичная инициализация командой ${it}")
|
FileWrapper[] files = steps.findFiles("tools/vrunner.init*.json")
|
||||||
steps.cmd("oscript_modules/bin/vrunner ${it} --ibconnection \"/F./build/ib\"")
|
files = files.sort new OrderBy( { it.name })
|
||||||
|
files.each {
|
||||||
|
Logger.println("Первичная инициализация файлом ${it.path}")
|
||||||
|
steps.cmd("oscript_modules/bin/vrunner vanessa --settings ${it.path} --ibconnection \"/F./build/ib\"")
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
config.initInfobaseOptions.additionalInitializationSteps.each {
|
||||||
|
Logger.println("Первичная инициализация командой ${it}")
|
||||||
|
steps.cmd("oscript_modules/bin/vrunner ${it} --ibconnection \"/F./build/ib\"")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user