blob: e6f0744075936cae9a31ae80f5fe2fe0dad4b4da [file] [log] [blame]
---
# 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}'