4 # vim: sw=2 ts=2 sts=2 et :
8 name: provide-maven-settings
10 - config-file-provider:
12 - file-id: '{global-settings-file}'
13 variable: 'GLOBAL_SETTINGS_FILE'
14 - file-id: '{settings-file}'
15 variable: 'SETTINGS_FILE'
17 # call maven-target builder with a goal of --version to force Jenkins to
18 # install the needed maven version
23 maven-version: '{maven-version}'
27 name: maven-docker-push-release
30 maven-version: '{maven-version}'
32 goals: 'clean deploy -B -P {mvn-profile}'
33 settings: '{mvn-settings}'
35 global-settings: 'global-settings'
36 global-settings-type: cfp
38 - maven.test.skip=true
39 - docker.pull.registry=nexus3.onap.org:10001
40 - docker.push.registry=nexus3.onap.org:10002
43 name: maven-docker-push-daily
46 maven-version: '{maven-version}'
48 goals: 'clean deploy -B -P {mvn-profile} {mvn-params}'
49 settings: '{mvn-settings}'
51 global-settings: 'global-settings'
52 global-settings-type: cfp
54 - docker.pull.registry=nexus3.onap.org:10001
55 - docker.push.registry=nexus3.onap.org:10003
60 - shell: !include-raw: include-docker-login.sh
66 properties-content: PYPI_SERVER={pypi-server}
68 !include-raw-escape: ../shell/pypi-publish.sh
72 name: infra-parameters
77 # yamllint disable rule:line-length
78 description: 'JJB configured PROJECT parameter to identify a Gerrit project'
81 name: ARCHIVE_ARTIFACTS
82 default: '{artifacts} **/target/surefire-reports/*-output.txt'
83 # yamllint disable rule:line-length
84 description: 'Space separated glob patterns for artifacts to archive to logs hosting'
89 description: 'JJB configured GERRIT_BRANCH parameter'
93 description: 'GERRIT_PROJECT parameter if not given by trigger'
97 description: 'GERRIT_REFSPEC parameter if not given by trigger'
100 default: '$JOB_NAME-$BUILD_NUMBER'
101 description: 'Used by Heat to generate a unique stack & vm name'
108 default: '{mvn-params}'
109 description: Maven parameters to pass to the mvn command.
116 # yamllint disable rule:line-length
117 default: '/w/tools/hudson.tasks.Maven_MavenInstallation/{maven-version}/bin/mvn'
119 description: 'Maven selector to be used by shell scripts'
122 name: docker-image-name
125 name: DOCKER_IMAGE_NAME
126 # yamllint disable rule:line-length
127 default: '{docker-image-name}'
129 description: 'Docker image name, e.g. onap/appc'
133 name: infra-properties
136 days-to-keep: '{build-days-to-keep}'
138 artifact-days-to-keep: -1
139 artifact-num-to-keep: 5
143 name: archive-artifacts
146 artifacts: '{artifacts}'
152 name: email-notification
155 recipients: 'nobody@open-o.org'
157 content-type: default
158 # yamllint disable rule:line-length
159 subject: '{email-prefix} $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!'
162 $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS:
164 Check console output at $BUILD_URL to view the results.
175 exec-pattern: '**/**.exec'
176 class-pattern: '**/classes'
177 source-pattern: '**/src/main/java'
178 # yamllint disable rule:line-length
179 exclusion-pattern: '**/gen**,**/generated-sources/**,**/yang-gen**,**/pax/**'
191 name: checkstyle-result
194 pattern: '**/checkstyle-result.xml'
197 health-threshold: 'high'
210 name: checkstyle-result-daily
213 pattern: '**/checkstyle-result.xml'
216 health-threshold: 'high'
230 # lf-infra macro to finish up a build.
232 # Handles the following:
233 # - Shipping logs to Nexus logs site repository
234 # - Cleanup workspace
248 mark-unstable-if-failed: true
251 # Do not clean up *.jenkins-trigger files for jobs that use a
252 # properties file as input for triggering another build.
253 - '**/*.jenkins-trigger'
262 credentials-id: 'onap-jenkins-ssh'
272 name: gerrit-trigger-scm
275 credentials-id: 'onap-jenkins-ssh'
279 - 'origin/$GERRIT_BRANCH'
282 choosing-strategy: '{choosing-strategy}'
284 recursive: '{submodule-recursive}'
287 name: gerrit-trigger-scm-basedir
290 credentials-id: 'onap-jenkins-ssh'
294 - 'origin/$GERRIT_BRANCH'
297 choosing-strategy: '{choosing-strategy}'
304 credentials-id: 'onap-jenkins-ssh'
314 name: git-extra-project
317 credentials-id: 'onap-jenkins-ssh'
318 url: '$GIT_NO_PROJECT/{project}'
324 wipe-workspace: false
325 basedir: '{checkout-dir}'
329 # This is a single macro to use for all jobs who vote on every (relevant) patch
330 # set. Only 'recheck' trigger word is supported, it always triggers the full set
331 # of relevant jobs, in order to prevent Jenkins from starting only a subset and
332 # still voting Verified+1
334 # server: name of gerrit server to listen to
335 # project: pattern to match triggering projects
336 # branch: triggering branch name
337 # files: pattern to match triggering filepaths
339 name: gerrit-trigger-patch-submitted
342 server-name: '{server}'
344 - patchset-created-event:
345 exclude-drafts: 'false'
346 exclude-trivial-rebase: 'false'
347 exclude-no-code-change: 'false'
348 - draft-published-event
349 - comment-added-contains-event:
350 comment-contains-value: 'recheck'
352 - project-compare-type: 'ANT'
353 project-pattern: '{project}'
355 - branch-compare-type: 'ANT'
356 branch-pattern: '**/{branch}'
358 - compare-type: 'ANT'
362 name: gerrit-trigger-patch-merged
365 server-name: '{server}'
367 - change-merged-event
368 - comment-added-contains-event:
369 comment-contains-value: 'remerge'
371 - project-compare-type: 'ANT'
372 project-pattern: '{project}'
374 - branch-compare-type: 'ANT'
375 branch-pattern: '**/{branch}'
377 - compare-type: 'ANT'
381 name: gerrit-trigger-release-manually
384 server-name: '{server}'
386 - comment-added-contains-event:
387 comment-contains-value: 'please release'
389 - project-compare-type: 'ANT'
390 project-pattern: '{project}'
392 - branch-compare-type: 'ANT'
393 branch-pattern: '**/{branch}'
395 - compare-type: 'ANT'
399 name: trigger-on-build-success
420 <org.jenkinsci.plugins.golang.GolangBuildWrapper plugin="golang@1.2">
421 <goVersion>Golang 1.10</goVersion>
422 </org.jenkinsci.plugins.golang.GolangBuildWrapper>
425 # This wrapper is required for all jobs as it configures the wrappers
426 # needed by the eCOMP infra.
432 timeout: '{build-timeout}'
433 timeout-var: 'BUILD_TIMEOUT'
435 - ssh-agent-credentials:
442 # This wrapper is used for docker build jobs to use the dedicated docker
443 # build VM and turn off OpenStack single-use
444 name: infra-wrappers-docker-build
449 timeout: '{build-timeout}'
450 timeout-var: 'BUILD_TIMEOUT'
452 - ssh-agent-credentials: