DB
Size: a a a
DB
А
DS
def jobs = [вынести jobs в статический текстовой файл(например yaml) мне кажется логичным.
[
name: 'job1',
repo: 'https://github.com/example/repo',
pipelinePath: './jenkins/android.groovy',
envs: [
// some environments
],
parameters: [
// some parameters
]
],
[
name: 'job2',
repo: 'https://github.com/example/repo',
pipelinePath: './jenkins/ios.groovy',
envs: [
// some environments
],
parameters: [
// some parameters
]
],
[
name: 'job3',
repo: 'https://github.com/example/repo',
pipelinePath: './jenkins/web.groovy',
envs: [
// some environments
],
parameters: [
// some parameters
]
],
....
]
jobs.each { job ->
// some code
}
jobs:1) Удобство: вычещаем из кода конфиги, в коде остается только логика
- name job1
repo: https://github.com/example/repo
envs:
....
DB
- job:
name: job-name
project-type: pipeline
description: job-description
parameters:
- string:
name: MY_PARAM
default: MY_VALUE
dsl: !include: pipelines/job-name.groovy
DS
DS
DB
- job:params.yaml:
name: job-name
project-type: pipeline
description: job-description
parameters: !include: params.yaml
dsl: !include: pipeline.groovy
- string:не понимаю, чего ты хочешь достичь
name: MY_PARAM
default: MY_VALUE
DS
scm:мне достаточно repo: 'http://example.org/test_job.git'
- git:
url: http://example.org/test_job.git
distributions: !!python/tuple [precise, jessie]
, architectures: !!python/tuple &architectures
- amd64DB
DS
МА
HC
HC
II
timeout(60) { node(x) { ... } }
— не то, я не хочу внешним таймаутом огораживать внутренний скоуп. Хочется чего-то в духе node(label: x, timeout: 60)
или хотя бы timeout(60) { node(x) { parentTimeout.cancel()
JR
II
C
JR
Н
C