mirror of
https://github.com/firstBitMarksistskaya/jenkins-lib.git
synced 2024-12-04 10:34:42 +02:00
Переопределение timeout для каждой stages
This commit is contained in:
parent
826d6bc62b
commit
756b953500
@ -16,6 +16,7 @@
|
||||
"edtValidate": false,
|
||||
"smoke": false
|
||||
},
|
||||
"stageTimeout": 2,
|
||||
"initInfobase": {
|
||||
"initMethod": "fromStorage",
|
||||
"runMigration": true,
|
||||
|
@ -192,6 +192,10 @@
|
||||
"logosConfig" : {
|
||||
"type" : "string",
|
||||
"description" : "Конфигурация библиотеки logos. Применяется перед запуском каждой стадии сборки"
|
||||
},
|
||||
"stageTimeout" : {
|
||||
"type" : "integer",
|
||||
"description" : "Таймаут для выполнения шагов (в часах)"
|
||||
}
|
||||
}
|
||||
}
|
@ -56,6 +56,10 @@ class JobConfiguration implements Serializable {
|
||||
@JsonPropertyDescription("Конфигурация библиотеки logos. Применяется перед запуском каждой стадии сборки")
|
||||
String logosConfig;
|
||||
|
||||
@JsonProperty("stageTimeout")
|
||||
@JsonPropertyDescription("Таймаут для выполнения шагов (в часах)")
|
||||
Integer stageTimeout;
|
||||
|
||||
@Override
|
||||
@NonCPS
|
||||
String toString() {
|
||||
@ -73,6 +77,7 @@ class JobConfiguration implements Serializable {
|
||||
", smokeTestOptions=" + smokeTestOptions +
|
||||
", resultsTransformOptions=" + resultsTransformOptions +
|
||||
", logosConfig=" + logosConfig +
|
||||
", stageTimeout=" + stageTimeout +
|
||||
'}';
|
||||
}
|
||||
|
||||
|
@ -54,6 +54,8 @@ class ConfigurationReaderTest {
|
||||
assertThat(jobConfiguration.getBddOptions().getVrunnerSteps()).contains("vanessa --settings ./tools/vrunner.json");
|
||||
|
||||
assertThat(jobConfiguration.getLogosConfig()).isEqualTo("logger.rootLogger=DEBUG");
|
||||
|
||||
assertThat(jobConfiguration.getStageTimeout()).isEqualTo(2);
|
||||
}
|
||||
|
||||
}
|
@ -19,7 +19,6 @@ void call() {
|
||||
|
||||
options {
|
||||
buildDiscarder(logRotator(numToKeepStr: '30'))
|
||||
timeout(time: 2, unit: TimeUnit.HOURS)
|
||||
timestamps()
|
||||
}
|
||||
|
||||
@ -29,6 +28,9 @@ void call() {
|
||||
agent {
|
||||
label 'agent'
|
||||
}
|
||||
options {
|
||||
timeout(time: 1, unit: TimeUnit.HOURS)
|
||||
}
|
||||
|
||||
steps {
|
||||
script {
|
||||
@ -59,22 +61,25 @@ void call() {
|
||||
expression { config.stageFlags.needInfobase() && config.infobaseFromFiles() && config.sourceFormat == SourceFormat.EDT }
|
||||
}
|
||||
steps {
|
||||
edtToDesignerFormatTransformation config
|
||||
timeout(time: config.stageTimeout, unit: TimeUnit.HOURS) {
|
||||
edtToDesignerFormatTransformation config
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Создание ИБ') {
|
||||
steps {
|
||||
createDir('build/out')
|
||||
timeout(time: config.stageTimeout, unit: TimeUnit.HOURS) {
|
||||
createDir('build/out')
|
||||
|
||||
script {
|
||||
if (config.infobaseFromFiles()){
|
||||
// Создание базы загрузкой из файлов
|
||||
initFromFiles config
|
||||
}
|
||||
else{
|
||||
// Создание базы загрузкой конфигурации из хранилища
|
||||
initFromStorage config
|
||||
script {
|
||||
if (config.infobaseFromFiles()) {
|
||||
// Создание базы загрузкой из файлов
|
||||
initFromFiles config
|
||||
} else {
|
||||
// Создание базы загрузкой конфигурации из хранилища
|
||||
initFromStorage config
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -86,16 +91,20 @@ void call() {
|
||||
expression { config.stageFlags.initSteps }
|
||||
}
|
||||
steps {
|
||||
// Инициализация и первичная миграция
|
||||
initInfobase config
|
||||
timeout(time: config.stageTimeout, unit: TimeUnit.HOURS) {
|
||||
// Инициализация и первичная миграция
|
||||
initInfobase config
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Архивация ИБ') {
|
||||
steps {
|
||||
printLocation()
|
||||
timeout(time: config.stageTimeout, unit: TimeUnit.HOURS) {
|
||||
printLocation()
|
||||
|
||||
zipInfobase()
|
||||
zipInfobase()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -109,10 +118,12 @@ void call() {
|
||||
}
|
||||
when {
|
||||
beforeAgent true
|
||||
expression { config.sourceFormat == SourceFormat.DESIGNER && config.stageFlags.edtValidate}
|
||||
expression { config.sourceFormat == SourceFormat.DESIGNER && config.stageFlags.edtValidate }
|
||||
}
|
||||
steps {
|
||||
designerToEdtFormatTransformation config
|
||||
timeout(time: config.stageTimeout, unit: TimeUnit.HOURS) {
|
||||
designerToEdtFormatTransformation config
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -131,7 +142,9 @@ void call() {
|
||||
label 'edt'
|
||||
}
|
||||
steps {
|
||||
edtValidate config
|
||||
timeout(time: config.stageTimeout, unit: TimeUnit.HOURS) {
|
||||
edtValidate config
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -140,7 +153,9 @@ void call() {
|
||||
label 'oscript'
|
||||
}
|
||||
steps {
|
||||
transform config
|
||||
timeout(time: config.stageTimeout, unit: TimeUnit.HOURS) {
|
||||
transform config
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -155,9 +170,11 @@ void call() {
|
||||
expression { config.stageFlags.bdd }
|
||||
}
|
||||
steps {
|
||||
unzipInfobase()
|
||||
|
||||
bdd config
|
||||
timeout(time: config.stageTimeout, unit: TimeUnit.HOURS) {
|
||||
unzipInfobase()
|
||||
|
||||
bdd config
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -170,7 +187,9 @@ void call() {
|
||||
expression { config.stageFlags.syntaxCheck }
|
||||
}
|
||||
steps {
|
||||
syntaxCheck config
|
||||
timeout(time: config.stageTimeout, unit: TimeUnit.HOURS) {
|
||||
syntaxCheck config
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -183,9 +202,11 @@ void call() {
|
||||
expression { config.stageFlags.smoke }
|
||||
}
|
||||
steps {
|
||||
unzipInfobase()
|
||||
timeout(time: config.stageTimeout, unit: TimeUnit.HOURS) {
|
||||
unzipInfobase()
|
||||
|
||||
smoke config
|
||||
smoke config
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -200,7 +221,9 @@ void call() {
|
||||
expression { config.stageFlags.sonarqube }
|
||||
}
|
||||
steps {
|
||||
sonarScanner config
|
||||
timeout(time: config.stageTimeout, unit: TimeUnit.HOURS) {
|
||||
sonarScanner config
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user