--- # vim: sw=2 ts=2 sts=2 et : - job-template: # # job template for verifying gerrit changeset by shell script # # Required Variables: # project-name: name of project # area: area of project covered with this verification job # project: name of scm repository to work on # stream: name of stream used (set the same as branch if you're not sure) # branch: git branch to work on # script: build script to execute # Optional Variables: # pattern: trigger job only if modification covered file in pattern # build-node: label(flavor) of jenkins slave name: '{project-name}-{stream}-{area}-verify-shell' node: '{build-node}' type: freestyle pattern: '**' parameters: - lf-infra-parameters: branch: '{branch}' project: '{project}' stream: '{stream}' lftools-version: '{lftools-version}' scm: - gerrit-trigger-scm: refspec: '$GERRIT_REFSPEC' submodule-recursive: '{submodule-recursive}' choosing-strategy: 'gerrit' triggers: - gerrit-trigger-patch-submitted: server: '{server-name}' project: '{project}' branch: '{branch}' files: '{pattern}' builders: - shell: '{script}' publishers: - lf-infra-publish - job-template: # Job template for merging a submission. triggered on # gerrit-trigger-patch-merged, does scm, mvn with passed-in goals, then # run script # Required Variables: # branch: git branch # script: build script to execute # mvn-settings: settings file for this specific job # mvn-goals: space separated list of maven build goals (--version # for noop, clean deploy for deploy [snapshot]) name: '{project-name}-{stream}-merge-scm-mvn-script' project-type: freestyle node: 'ubuntu1604-docker-8c-8g' properties: - infra-properties: build-days-to-keep: '{build-days-to-keep}' parameters: - infra-parameters: project: '{project}' branch: '{branch}' refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' - maven-exec: maven-version: '{maven-version}' scm: - gerrit-trigger-scm: refspec: '' choosing-strategy: 'default' submodule-recursive: '{submodule-recursive}' wrappers: - infra-wrappers: build-timeout: '{build-timeout}' triggers: - gerrit-trigger-patch-merged: server: '{server-name}' project: '{project}' branch: '{branch}' files: '**' builders: - lf-infra-pre-build - provide-maven-settings: global-settings-file: 'global-settings' settings-file: '{mvn-settings}' - maven-target: maven-version: '{maven-version}' goals: '{mvn-goals}' settings: '{mvn-settings}' settings-type: cfp global-settings: 'global-settings' global-settings-type: cfp - docker-login - shell: '{script}' publishers: - infra-shiplogs: maven-version: '{maven-version}' - job-template: # Job template for 2 scm and script trigger # # Required Variables: # branch: git branch # build-node: what build node to run on # script: build script to execute # extra-project: extra gerrit project to checkout # extra-refspec: refspec for the extra project # extra-branch: branch to checkout for the extra project # checkout-dir: directory to checkout the extra project to # DO NOT SET THIS TO anything that translates to # $WORKSPACE as it will destroy the initial # project checkout name: '{project-name}-{stream}-two-scm-verify-script' project-type: freestyle concurrent: true node: '{build-node}' properties: - infra-properties: build-days-to-keep: '{build-days-to-keep}' parameters: - infra-parameters: project: '{project}' branch: '{branch}' refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' - maven-exec: maven-version: '{maven-version}' scm: - gerrit-trigger-scm: refspec: '$GERRIT_REFSPEC' choosing-strategy: 'gerrit' submodule-recursive: '{submodule-recursive}' - git-extra-project: project: '{extra-project}' refspec: '{extra-refspec}' branch: '{extra-branch}' checkout-dir: '{checkout-dir}' wrappers: - infra-wrappers: build-timeout: '{build-timeout}' triggers: - gerrit-trigger-patch-submitted: server: '{server-name}' project: '{project}' branch: '{branch}' files: '**' builders: - lf-infra-pre-build - provide-maven-settings: global-settings-file: 'global-settings' settings-file: '{mvn-settings}' # make sure maven gets installed / setup - maven-target: maven-version: '{maven-version}' goals: '--version' settings: '{mvn-settings}' settings-type: cfp global-settings: 'global-settings' global-settings-type: cfp - shell: '{script}' publishers: - infra-shiplogs: maven-version: '{maven-version}' # vim: sw=2 ts=2 sts=2 et : - job-template: # Job template for two scm and script trigger - for docker merge # # Required Variables: # branch: git branch # build-node: what build node to run on # script: build script to execute name: '{project-name}-{stream}-two-scm-merge-docker-script' project-type: freestyle concurrent: true node: '{build-node}' properties: - infra-properties: build-days-to-keep: '{build-days-to-keep}' parameters: - infra-parameters: project: '{project}' branch: '{branch}' refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' - maven-exec: maven-version: '{maven-version}' scm: - gerrit-trigger-scm: refspec: '' choosing-strategy: 'default' submodule-recursive: '{submodule-recursive}' - git-extra-project: project: '{extra-project}' refspec: '{extra-refspec}' branch: '{extra-branch}' checkout-dir: '{checkout-dir}' wrappers: - infra-wrappers: build-timeout: '{build-timeout}' triggers: - gerrit-trigger-patch-merged: server: '{server-name}' project: '{project}' branch: '{branch}' files: '**' builders: - lf-infra-pre-build - provide-maven-settings: global-settings-file: 'global-settings' settings-file: '{mvn-settings}' - docker-login # make sure maven gets installed / setup - maven-target: maven-version: '{maven-version}' goals: '--version' settings: '{mvn-settings}' settings-type: cfp global-settings: 'global-settings' global-settings-type: cfp - shell: '{script}' publishers: - infra-shiplogs: maven-version: '{maven-version}' - job-template: # Job template for two scm and script trigger - for docker daily release # # Required Variables: # branch: git branch # build-node: what build node to run on # script: build script to execute name: '{project-name}-{stream}-two-scm-release-docker-script-manual' project-type: freestyle concurrent: true node: '{build-node}' properties: - infra-properties: build-days-to-keep: '{build-days-to-keep}' parameters: - infra-parameters: project: '{project}' branch: '{branch}' refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' - maven-exec: maven-version: '{maven-version}' scm: - gerrit-trigger-scm: refspec: '' choosing-strategy: 'default' submodule-recursive: '{submodule-recursive}' - git-extra-project: project: '{extra-project}' refspec: '{extra-refspec}' branch: '{extra-branch}' checkout-dir: '{checkout-dir}' wrappers: - infra-wrappers: build-timeout: '{build-timeout}' triggers: - gerrit-trigger-release-manually: server: '{server-name}' project: '{project}' branch: '{branch}' builders: - lf-infra-pre-build - provide-maven-settings: global-settings-file: 'global-settings' settings-file: '{mvn-settings}' - docker-login # make sure maven gets installed / setup - maven-target: maven-version: '{maven-version}' goals: '--version' settings: '{mvn-settings}' settings-type: cfp global-settings: 'global-settings' global-settings-type: cfp - shell: '{script}' publishers: - infra-shiplogs: maven-version: '{maven-version}' - job-template: # 1. PULL the desired image # 2. TAG it to the desired release name # 3. PUSH the newly tagged image on release repo name: '{project-name}-docker-image-blessing' project-type: freestyle concurrent: true node: 'ubuntu1604-docker-8c-8g' parameters: - string: name: X description: "x VERSION of the STAGING image to bless into this RELEASE VERSION Example : 1" - string: name: Y description: "y VERSION of the STAGING image to bless into this RELEASE VERSION Example : 2" - string: name: Z description: "z VERSION of the RELEASE VERSION Example : 3" - string: name: PROJECT default: '{project}' properties: - infra-properties: build-days-to-keep: '{build-days-to-keep}' wrappers: - infra-wrappers: build-timeout: '{build-timeout}' builders: - lf-infra-pre-build - provide-maven-settings: global-settings-file: 'global-settings' settings-file: '{mvn-settings}' - docker-login - shell: !include-raw: include-docker-blessing.sh publishers: - infra-shiplogs: maven-version: '{maven-version}'