1
0
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:
Nikita Gryzlov 2021-11-25 11:33:47 +03:00 committed by Nikita Fedkin
parent 826d6bc62b
commit 756b953500
No known key found for this signature in database
GPG Key ID: E7AE91471C6FFE04
5 changed files with 61 additions and 26 deletions

View File

@ -16,6 +16,7 @@
"edtValidate": false,
"smoke": false
},
"stageTimeout": 2,
"initInfobase": {
"initMethod": "fromStorage",
"runMigration": true,

View File

@ -192,6 +192,10 @@
"logosConfig" : {
"type" : "string",
"description" : "Конфигурация библиотеки logos. Применяется перед запуском каждой стадии сборки"
},
"stageTimeout" : {
"type" : "integer",
"description" : "Таймаут для выполнения шагов (в часах)"
}
}
}

View File

@ -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 +
'}';
}

View File

@ -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);
}
}

View File

@ -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
}
}
}
}