2 # vim: sw=2 ts=2 sts=2 et :
6 # job template for verifying gerrit changeset by shell script
9 # project-name: name of project
10 # area: area of project covered with this verification job
11 # project: name of scm repository to work on
12 # stream: name of stream used (set the same as branch if you're not sure)
13 # branch: git branch to work on
14 # script: build script to execute
16 # pattern: trigger job only if modification covered file in pattern
17 # build-node: label(flavor) of jenkins slave
18 name: '{project-name}-{stream}-{area}-verify-shell'
25 - lf-infra-parameters:
29 lftools-version: '{lftools-version}'
33 refspec: '$GERRIT_REFSPEC'
34 submodule-recursive: '{submodule-recursive}'
35 choosing-strategy: 'gerrit'
38 - gerrit-trigger-patch-submitted:
39 server: '{server-name}'
51 # Job template for merging a submission. triggered on
52 # gerrit-trigger-patch-merged, does scm, mvn with passed-in goals, then
56 # script: build script to execute
57 # mvn-settings: settings file for this specific job
58 # mvn-goals: space separated list of maven build goals (--version
59 # for noop, clean deploy for deploy [snapshot])
60 name: '{project-name}-{stream}-merge-scm-mvn-script'
62 project-type: freestyle
63 node: 'ubuntu1604-docker-8c-8g'
67 build-days-to-keep: '{build-days-to-keep}'
73 refspec: 'refs/heads/{branch}'
74 artifacts: '{archive-artifacts}'
76 maven-version: '{maven-version}'
81 choosing-strategy: 'default'
82 submodule-recursive: '{submodule-recursive}'
86 build-timeout: '{build-timeout}'
89 - gerrit-trigger-patch-merged:
90 server: '{server-name}'
97 - provide-maven-settings:
98 global-settings-file: 'global-settings'
99 settings-file: '{mvn-settings}'
101 maven-version: '{maven-version}'
103 settings: '{mvn-settings}'
105 global-settings: 'global-settings'
106 global-settings-type: cfp
112 maven-version: '{maven-version}'
116 # Job template for 2 scm and script trigger
118 # Required Variables:
120 # build-node: what build node to run on
121 # script: build script to execute
122 # extra-project: extra gerrit project to checkout
123 # extra-refspec: refspec for the extra project
124 # extra-branch: branch to checkout for the extra project
125 # checkout-dir: directory to checkout the extra project to
126 # DO NOT SET THIS TO anything that translates to
127 # $WORKSPACE as it will destroy the initial
130 name: '{project-name}-{stream}-two-scm-verify-script'
132 project-type: freestyle
138 build-days-to-keep: '{build-days-to-keep}'
144 refspec: 'refs/heads/{branch}'
145 artifacts: '{archive-artifacts}'
147 maven-version: '{maven-version}'
150 - gerrit-trigger-scm:
151 refspec: '$GERRIT_REFSPEC'
152 choosing-strategy: 'gerrit'
153 submodule-recursive: '{submodule-recursive}'
155 project: '{extra-project}'
156 refspec: '{extra-refspec}'
157 branch: '{extra-branch}'
158 checkout-dir: '{checkout-dir}'
162 build-timeout: '{build-timeout}'
165 - gerrit-trigger-patch-submitted:
166 server: '{server-name}'
173 - provide-maven-settings:
174 global-settings-file: 'global-settings'
175 settings-file: '{mvn-settings}'
176 # make sure maven gets installed / setup
178 maven-version: '{maven-version}'
180 settings: '{mvn-settings}'
182 global-settings: 'global-settings'
183 global-settings-type: cfp
188 maven-version: '{maven-version}'
192 # vim: sw=2 ts=2 sts=2 et :
195 # Job template for two scm and script trigger - for docker merge
197 # Required Variables:
199 # build-node: what build node to run on
200 # script: build script to execute
202 name: '{project-name}-{stream}-two-scm-merge-docker-script'
204 project-type: freestyle
210 build-days-to-keep: '{build-days-to-keep}'
216 refspec: 'refs/heads/{branch}'
217 artifacts: '{archive-artifacts}'
219 maven-version: '{maven-version}'
222 - gerrit-trigger-scm:
224 choosing-strategy: 'default'
225 submodule-recursive: '{submodule-recursive}'
227 project: '{extra-project}'
228 refspec: '{extra-refspec}'
229 branch: '{extra-branch}'
230 checkout-dir: '{checkout-dir}'
234 build-timeout: '{build-timeout}'
237 - gerrit-trigger-patch-merged:
238 server: '{server-name}'
245 - provide-maven-settings:
246 global-settings-file: 'global-settings'
247 settings-file: '{mvn-settings}'
249 # make sure maven gets installed / setup
251 maven-version: '{maven-version}'
253 settings: '{mvn-settings}'
255 global-settings: 'global-settings'
256 global-settings-type: cfp
261 maven-version: '{maven-version}'
264 # Job template for two scm and script trigger - for docker daily release
266 # Required Variables:
268 # build-node: what build node to run on
269 # script: build script to execute
271 name: '{project-name}-{stream}-two-scm-release-docker-script-manual'
273 project-type: freestyle
279 build-days-to-keep: '{build-days-to-keep}'
285 refspec: 'refs/heads/{branch}'
286 artifacts: '{archive-artifacts}'
288 maven-version: '{maven-version}'
291 - gerrit-trigger-scm:
293 choosing-strategy: 'default'
294 submodule-recursive: '{submodule-recursive}'
296 project: '{extra-project}'
297 refspec: '{extra-refspec}'
298 branch: '{extra-branch}'
299 checkout-dir: '{checkout-dir}'
303 build-timeout: '{build-timeout}'
306 - gerrit-trigger-release-manually:
307 server: '{server-name}'
313 - provide-maven-settings:
314 global-settings-file: 'global-settings'
315 settings-file: '{mvn-settings}'
317 # make sure maven gets installed / setup
319 maven-version: '{maven-version}'
321 settings: '{mvn-settings}'
323 global-settings: 'global-settings'
324 global-settings-type: cfp
329 maven-version: '{maven-version}'
332 # 1. PULL the desired image
333 # 2. TAG it to the desired release name
334 # 3. PUSH the newly tagged image on release repo
336 name: '{project-name}-docker-image-blessing'
338 project-type: freestyle
340 node: 'ubuntu1604-docker-8c-8g'
345 description: "x VERSION of the STAGING image to bless into this RELEASE VERSION
349 description: "y VERSION of the STAGING image to bless into this RELEASE VERSION
353 description: "z VERSION of the RELEASE VERSION
361 build-days-to-keep: '{build-days-to-keep}'
365 build-timeout: '{build-timeout}'
369 - provide-maven-settings:
370 global-settings-file: 'global-settings'
371 settings-file: '{mvn-settings}'
373 - shell: !include-raw: include-docker-blessing.sh
377 maven-version: '{maven-version}'