+- job-template:
+ # Job template for creating a docker manifest list
+ #
+ # The purpose of this job template is to run:
+ # 1. docker_push_manifest.sh script (which needs to exist in the
+ # project implementation repo)
+
+ name: '{project-name}-docker-manifest-{stream}'
+ <<: *docker_job_boiler_plate
+ node: '{build-node}'
+ build-timeout: 15
+
+ parameters:
+ - lf-infra-parameters:
+ project: '{project}'
+ stream: '{stream}'
+ branch: '{branch}'
+ - string:
+ name: PARENT_JOB_NAME
+ default: 'none'
+
+ disabled: '{obj:disabled}'
+
+ scm:
+ - lf-infra-gerrit-scm:
+ jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ git-url: '$GIT_URL/$PROJECT'
+ refspec: '$GERRIT_REFSPEC'
+ branch: '$GERRIT_BRANCH'
+ submodule-recursive: true
+ submodule-disable: '{submodule-disable}'
+ submodule-timeout: '{submodule-timeout}'
+ choosing-strategy: default
+
+
+ builders:
+ - lf-infra-docker-login:
+ global-settings-file: 'global-settings'
+ settings-file: '{mvn-settings}'
+ - shell: |
+ #!/bin/bash -ex
+ export PARENT_JOB_NAME
+ ./docker_push_manifest.sh
+
+- job-template:
+ # Job template for staging jobs on multiple architectures
+ #
+ # The purpose of this job template is to:
+ # 1. Run parallel maven-docker-stage jobs for each supported architecure
+ # 2. Build and push a docker manifest list for the images created by
+ # the previous jobs
+
+ name: '{project-name}-multiarch-docker-stage-{stream}'
+ node: '{build-node}'
+ project-type: multijob
+ disabled: '{obj:disabled}'
+ build-timeout: 15
+ pattern: '**'
+
+ parameters:
+ - lf-infra-parameters:
+ project: '{project}'
+ stream: '{stream}'
+ branch: '{branch}'
+ - string:
+ name: DOCKER_REGISTRY
+ default: 'none'
+ - string:
+ name: DOCKERHUB_REGISTRY
+ default: 'registry-1.docker.io'
+
+ disabled: '{obj:disabled}'
+
+ properties:
+ - throttle:
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - '{project-name}-.*-docker-.*'
+ blocking-level: 'NODE'
+
+ scm:
+ - lf-infra-gerrit-scm:
+ jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ git-url: '$GIT_URL/$PROJECT'
+ refspec: '$GERRIT_REFSPEC'
+ branch: '$GERRIT_BRANCH'
+ submodule-recursive: true
+ submodule-timeout: 10
+ submodule-disable: false
+ choosing-strategy: default