parameters:
- string:
name: JJB_GIT_REPO
- default: https://git.openstack.org/openstack-infra/jenkins-job-builder
- description: OpenStack JJB repo
+ default: https://opendev.org/jjb/jenkins-job-builder.git
+ description: OpenDev JJB repo
- string:
name: JJB_VERSION
- default: 2.2.1
- description: OpenStack JJB version to install - matches to LFN JJB version
+ default: 2.9.1
+ description: OpenDev JJB version to install - matches to LFN JJB version
+ - string:
+ name: NORDIX_REGISTRY
+ default: registry.nordix.org
+ description: Nordix Container Image Registry
# these parameters are used for setting the Gerrit Project on Nordix
- parameter:
default: ssh://$GERRIT_USER@gerrit.onap.org:29418
description: SSH URL to Project Repo on ONAP Gerrit to clone repo
+- parameter:
+ name: acumos-gerrit-parameters
+ parameters:
+ - string:
+ name: GERRIT_USER
+ default: nordix
+ description: Non-interactive user to stream Gerrit Events on Acumos Gerrit
+ - string:
+ name: GIT_BASE_HTTPS
+ default: https://gerrit.acumos.org/r/p
+ description: HTTPS URL to Project Repo on Acumos Gerrit to clone repo
+ - string:
+ name: GIT_BASE_SSH
+ default: ssh://$GERRIT_USER@gerrit.acumos.org:29418
+ description: SSH URL to Project Repo on Acumos Gerrit to clone repo
+
+- parameter:
+ name: odl-gerrit-parameters
+ parameters:
+ - string:
+ name: GERRIT_USER
+ default: nordix
+ description: Non-interactive user to stream Gerrit Events on ODL Gerrit
+ - string:
+ name: GIT_BASE_HTTPS
+ default: https://git.opendaylight.org/gerrit
+ description: HTTPS URL to Project Repo on OODL Gerrit to clone repo
+ - string:
+ name: GIT_BASE_SSH
+ default: ssh://$GERRIT_USER@git.opendaylight.org:29418
+ description: SSH URL to Project Repo on ODL Gerrit to clone repo
+
+- parameter:
+ name: opendev-gerrit-parameters
+ parameters:
+ - string:
+ name: GERRIT_USER
+ default: nordix
+ description: Non-interactive user to stream Gerrit Events on OpenDev Gerrit
+ - string:
+ name: GIT_BASE_HTTPS
+ default: https://review.opendev.org
+ description: HTTPS URL to Project Repo on OpenDev Gerrit to clone repo
+ - string:
+ name: GIT_BASE_SSH
+ default: ssh://$GERRIT_USER@review.opendev.org:29418
+ description: SSH URL to Project Repo on OpenDev Gerrit to clone repo
+
+- parameter:
+ name: oransc-gerrit-parameters
+ parameters:
+ - string:
+ name: GERRIT_USER
+ default: nordix
+ description: Non-interactive user to stream Gerrit Events on ORAN-SC Gerrit
+ - string:
+ name: GIT_BASE_HTTPS
+ default: https://gerrit.o-ran-sc.org/r
+ description: HTTPS URL to Project Repo on ORAN-SC Gerrit to clone repo
+ - string:
+ name: GIT_BASE_SSH
+ default: ssh://$GERRIT_USER@gerrit.o-ran-sc.org:29418
+ description: SSH URL to Project Repo on ORAN-SC Gerrit to clone repo
+
+- parameter:
+ name: fdio-gerrit-parameters
+ parameters:
+ - string:
+ name: GERRIT_USER
+ default: nordix
+ description: Non-interactive user to stream Gerrit Events on Fast Data Project Gerrit
+ - string:
+ name: GIT_BASE_HTTPS
+ default: https://gerrit.fd.io/r
+ description: HTTPS URL to Project Repo on Fast Data Project Gerrit to clone repo
+ - string:
+ name: GIT_BASE_SSH
+ default: ssh://$GERRIT_USER@gerrit.fd.io:29418
+ description: SSH URL to Project Repo on Fast Data Project Gerrit to clone repo
+
+# Verify job for Geode git tags to make sure there are in agreed format
+- builder:
+ name: 'verify-geode-tag-macro'
+ builders:
+ - shell:
+ !include-raw: ./verify_geode_tag.sh
+
# defaults for job build history
- property:
name: logrotate-default
artifact-days-to-keep: 60
artifact-num-to-keep: 200
-# defaults for SCM and Gerrit
+# defaults for SCM, Gerrit and GitHub
- scm:
name: git-scm
scm:
shallow-clone: false
use-author: false
ignore-notify: false
- wipe-workspace: true
+ wipe-workspace: '{wipe_workspace}'
prune: false
+ clean:
+ after: false
+ before: '{clean_before}'
choosing-strategy: 'default'
- scm:
shallow-clone: false
use-author: false
ignore-notify: false
- wipe-workspace: true
+ wipe-workspace: '{wipe_workspace}'
prune: false
+ clean:
+ after: false
+ before: '{clean_before}'
choosing-strategy: 'gerrit'
+- scm:
+ name: git-scm-github
+ scm:
+ - git:
+ url: 'https://github.com/$PROJECT.git'
+ branches:
+ - '*/{branch}'
+ refspec: '{refspec}'
+ timeout: 15
+ per-build-tag: false
+ skip-tag: true
+ shallow-clone: false
+ use-author: false
+ ignore-notify: false
+ wipe-workspace: '{wipe_workspace}'
+ prune: false
+ clean:
+ after: false
+ before: '{clean_before}'
+ choosing-strategy: 'default'
+ basedir: '{base_dir}'
+
# triggers for Nordix Gerrit
- trigger:
name: nordix-gerrit-trigger-patchset-created
- comment-added-contains-event:
comment-contains-value: 'reverify'
projects:
- - project-compare-type: 'ANT'
+ - project-compare-type: 'REG_EXP'
project-pattern: '{project}'
branches:
- branch-compare-type: 'ANT'
- compare-type: 'ANT'
pattern: '{files}'
+- trigger:
+ name: nordix-gerrit-push-upstream
+ triggers:
+ - gerrit:
+ server-name: 'Nordix Gerrit'
+ trigger-on:
+ - comment-added-contains-event:
+ comment-contains-value: 'push-upstream'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: 'ANT'
+ pattern: '{files}'
+
+- trigger:
+ name: nordix-gerrit-patchset-created-or-push-upstream
+ triggers:
+ - gerrit:
+ server-name: 'Nordix Gerrit'
+ trigger-on:
+ - comment-added-contains-event:
+ comment-contains-value: 'push-upstream'
+ - patchset-created-event:
+ exclude-drafts: true
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: 'ANT'
+ pattern: '{files}'
+
# triggers for ONAP Gerrit
- trigger:
name: onap-gerrit-trigger-change-merged
file-paths:
- compare-type: 'ANT'
pattern: '{files}'
+ silent: true
+ silent-start: true
+
+# triggers for Acumos Gerrit
+- trigger:
+ name: acumos-gerrit-trigger-change-merged
+ triggers:
+ - gerrit:
+ server-name: 'Acumos Gerrit'
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: 'ANT'
+ pattern: '{files}'
+ silent: true
+ silent-start: true
+
+# triggers for ODL Gerrit
+- trigger:
+ name: odl-gerrit-trigger-change-merged
+ triggers:
+ - gerrit:
+ server-name: 'ODL Gerrit'
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: 'ANT'
+ pattern: '{files}'
+ silent: true
+ silent-start: true
+
+# triggers for OpenDev Gerrit
+- trigger:
+ name: opendev-gerrit-trigger-change-merged
+ triggers:
+ - gerrit:
+ server-name: 'OpenDev Gerrit'
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: 'ANT'
+ pattern: '{files}'
+ silent: true
+ silent-start: true
+
+# triggers for ORANSC Gerrit
+- trigger:
+ name: oransc-gerrit-trigger-change-merged
+ triggers:
+ - gerrit:
+ server-name: 'ORANSC Gerrit'
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: 'ANT'
+ pattern: '{files}'
+ silent: true
+ silent-start: true
+
+# triggers for Fast Data Project Gerrit
+- trigger:
+ name: fdio-gerrit-trigger-change-merged
+ triggers:
+ - gerrit:
+ server-name: 'FDio Gerrit'
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: 'ANT'
+ pattern: '{files}'
+ silent: true
+ silent-start: true
# wrappers to use for jobs
- wrapper:
credential-id: nordixinfra-jjb-creds
username: JJB_USERNAME
password: JJB_USERTOKEN
+
+# wrappers to use for jobs
+- wrapper:
+ name: nordixinfra-harbor-creds-wrapper
+ wrappers:
+ - credentials-binding:
+ - username-password-separated:
+ credential-id: nordix-cicd-harbor-credentials
+ username: HARBOR_USERNAME
+ password: HARBOR_PASSWORD
+
+# timeout wrapper to use for jobs
+- wrapper:
+ name: build-timeout
+ wrappers:
+ - timeout:
+ timeout: '{timeout}'
+ timeout-var: 'BUILD_TIMEOUT'
+ fail: true
+
+# wrapper to fix jenkins build workspace permissions
+- wrapper:
+ name: fix-workspace-permissions
+ wrappers:
+ - pre-scm-buildstep:
+ failOnError: true
+ buildsteps:
+ - shell: |
+ #!/bin/bash
+ sudo chown -R $USER:$USER $WORKSPACE || exit 1
+
+- publisher:
+ name: notify-slack
+ publishers:
+ - slack:
+ room: '{slack-channel}'
+ notify-start: '{notify-start}'
+ notify-success: '{notify-success}'
+ notify-failure: '{notify-failure}'
+ notify-back-to-normal: '{notify-back-to-normal}'
+
+# property to discard old builds
+- property:
+ name: logrotate
+ properties:
+ - build-discarder:
+ days-to-keep: 30
+ num-to-keep: 100
+ artifact-days-to-keep: 30
+ artifact-num-to-keep: 100