11 Recommended jobs that should be deployed for CI using Gerrit.
15 - gerrit-jenkins-cfg-merge
16 - gerrit-jjb-deploy-job
20 {project-name}-github-ci-jobs
21 -----------------------------
23 Recommended jobs that should be deployed CI using GitHub.
27 - github-jenkins-cfg-merge
28 - github-jjb-deploy-job
32 {project-name}-packer-jobs
33 --------------------------
35 Jobs related to Packer builds for CI using Gerrit.
40 - gerrit-packer-verify
42 {project-name}-github-packer-jobs
43 ---------------------------------
45 Jobs related to Packer builds for CI using GitHub.
50 - github-packer-verify
55 lf-jenkins-cfg-global-vars
56 --------------------------
58 Manages the Global Jenkins variables. This macro will clear all exist macros
59 in Jenkins and replaces them with the ones defined by the
60 ci-management/jenkins-config/global-vars-SILO.sh script.
64 Requires the jjbini file in Jenkins CFP to contain JJB 2.0 style
65 config definitions for "production" and "sandbox" systems.
69 :jenkins-silos: Space separated list of Jenkins silos to update
70 configuration for as defined in ~/.config/jenkins_jobs/jenkins_jobs.ini
75 Provides jenkins_jobs.ini configuration for Jenkins.
77 lf-infra-jjbini-sandbox
78 -----------------------
80 Provides jenkins_jobs.ini configuration for Jenkins sandbox.
82 .. todo:: This needs to be consolidated into lf-infra-jjbini when JJB 2.0 is available
84 lf-packer-verify-file-paths
85 ---------------------------
87 Gerrit file-paths for packer verify jobs.
92 Gerrit file-paths for packer jobs.
97 Common packer configuration.
105 Job submits a patch to lock or unlock a project's branch.
108 - {project-name}-gerrit-branch-lock-{stream}
112 Jenkins Configuration Merge
113 ---------------------------
115 Jenkins job to manage Global Jenkins configuration.
117 Global Environment Variables are managed via the
118 ``jenkins-config/global-vars-SILO.sh`` file in ci-management. Replace SILO with
119 the name of the Jenkins silo the variable configuration is for.
121 The format for this file is ``KEY=value`` for example::
123 GERRIT_URL=https://git.opendaylight.org/gerrit
124 GIT_BASE=git://devvexx.opendaylight.org/mirror/$PROJECT
125 GIT_URL=git://devvexx.opendaylight.org/mirror
126 JENKINS_HOSTNAME=vex-yul-odl-jenkins-2
127 LOGS_SERVER=https://logs.opendaylight.org
128 NEXUS_URL=https://nexus.opendaylight.org
129 ODLNEXUSPROXY=https://nexus.opendaylight.org
131 SONAR_URL=https://sonar.opendaylight.org
135 Requires the jjbini file in Jenkins CFP to contain JJB 2.0 style
136 config definitions for "production" and "sandbox" systems.
140 - {project-name}-jenkins-cfg-merge
141 - gerrit-jenkins-cfg-merge
142 - github-jenkins-cfg-merge
144 :Optional parameters:
146 :git-url: URL to clone project from. (default: $GIT_URL/$GERRIT_PROJECT)
147 :jenkins-silos: Space separated list of Jenkins silos to update
148 configuration for as defined in ~/.config/jenkins_jobs/jenkins_jobs.ini
149 (default: production sandbox)
151 Typically this template is automatically pulled in by the
152 "{project-name}-ci-jobs" job-group and does not need to be explicitly called if
153 the job group is being used.
157 .. literalinclude:: ../../.jjb-test/lf-ci-jobs/jenkins-cfg-merge-minimal.yaml
162 .. literalinclude:: ../../.jjb-test/lf-ci-jobs/jenkins-cfg-merge-full.yaml
169 Deploy jobs to jenkins-sandbox system via code review comment
171 This job checks out the current code review patch and then runs a
172 `jenkins-jobs update` to push a patch defined by the comment.
176 - {project-name}-jjb-deploy-job
177 - gerrit-jjb-deploy-job
178 - github-jjb-deploy-job
180 :Comment Trigger: jjb-deploy JOB_NAME
184 JOB_NAME can include the * wildcard character to push multiple jobs
185 matching the pattern. For example `jjb-deploy builder-jjb-*`` will push
186 all builder-jjb-* jobs to the sandbox system.
188 :Required parameters:
190 :build-node: The node to run build on.
191 :jenkins-ssh-credential: Credential to use for SSH. (Generally
192 should be configured in defaults.yaml)
194 :Optional parameters:
196 :git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
197 :gerrit_jjb_deploy_job_triggers: Override Gerrit Triggers.
203 Runs `jenkins-jobs update` to update production job configuration
206 - {project-name}-jjb-merge
210 :Required parameters:
212 :build-node: The node to run build on.
213 :jenkins-ssh-credential: Credential to use for SSH. (Generally should
214 be configured in defaults.yaml)
215 :mvn-settings: The name of settings file containing credentials for
218 :Optional parameters:
220 :branch: Git branch to fetch for the build. (default: master)
221 :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
222 :build-timeout: Timeout in seconds before aborting build. (default: 10)
223 :git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
224 :stream: Keyword that can be used to represent a release code-name.
225 Often the same as the branch. (default: master)
226 :submodule-recursive: Whether to checkout submodules recursively.
229 :gerrit_merge_triggers: Override Gerrit Triggers.
230 :gerrit_trigger_file_paths: Override file paths which can be used to
231 filter which file modifications will trigger a build.
232 (default defined by lf_jjb_common)
238 Runs `jenkins-jobs test` to validate JJB syntax
241 - {project-name}-jjb-verify
245 :Required parameters:
247 :build-node: The node to run build on.
248 :jenkins-ssh-credential: Credential to use for SSH. (Generally should
249 be configured in defaults.yaml)
250 :mvn-settings: The name of settings file containing credentials for
253 :Optional parameters:
255 :branch: Git branch to fetch for the build. (default: master)
256 :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
257 :build-timeout: Timeout in seconds before aborting build. (default: 10)
258 :git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
259 :stream: Keyword that can be used to represent a release code-name.
260 Often the same as the branch. (default: master)
261 :submodule-recursive: Whether to checkout submodules recursively.
264 :gerrit_verify_triggers: Override Gerrit Triggers.
265 :gerrit_trigger_file_paths: Override file paths which can be used to
266 filter which file modifications will trigger a build.
267 (default defined by lf_jjb_common)
273 Packer Merge job runs `packer build` to build system images in the cloud.
276 - {project-name}-packer-merge-{platforms}-{templates}
277 - gerrit-packer-merge
278 - github-packer-merge
280 :Required parameters:
282 :build-node: The node to run build on.
283 :jenkins-ssh-credential: Credential to use for SSH. (Generally should
284 be configured in defaults.yaml)
285 :mvn-settings: The name of settings file containing credentials for
287 :platforms: Platform or distribution to build. Typically json file
288 found in the packer/vars directory. (Example: centos)
289 :template: System template to build. Typically shell script found in
290 the packer/provision directory. (Example: java-builder)
292 :Optional parameters:
294 :branch: Git branch to fetch for the build. (default: master)
295 :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
296 :build-timeout: Timeout in seconds before aborting build. (default: 10)
297 :git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
298 :packer-cloud-settings: Name of settings file containing credentials
299 for the cloud that packer will build on. (default: packer-cloud-env)
300 :packer-version: Version of packer to install / use in build. (default: 1.0.2)
301 :stream: Keyword that can be used to represent a release code-name.
302 Often the same as the branch. (default: master)
303 :submodule-recursive: Whether to checkout submodules recursively.
306 :gerrit_verify_triggers: Override Gerrit Triggers.
312 Packer Verify job runs `packer validate` to verify packer configuration.
315 - {project-name}-packer-verify
316 - gerrit-packer-verify
317 - github-packer-verify
319 :Required parameters:
321 :build-node: The node to run build on.
322 :jenkins-ssh-credential: Credential to use for SSH. (Generally should
323 be configured in defaults.yaml)
324 :mvn-settings: The name of settings file containing credentials for
327 :Optional parameters:
329 :branch: Git branch to fetch for the build. (default: master)
330 :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
331 :build-timeout: Timeout in seconds before aborting build. (default: 10)
332 :git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
333 :packer-cloud-settings: Name of settings file containing credentials
334 for the cloud that packer will build on. (default: packer-cloud-env)
335 :packer-version: Version of packer to install / use in build. (default: 1.0.2)
336 :stream: Keyword that can be used to represent a release code-name.
337 Often the same as the branch. (default: master)
338 :submodule-recursive: Whether to checkout submodules recursively.
341 :gerrit_verify_triggers: Override Gerrit Triggers.
342 :gerrit_trigger_file_paths: Override file paths which can be used to
343 filter which file modifications will trigger a build.