X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=jjb%2Fglobal-templates-docker.yaml;h=eecedd464bfaf151748bf059ea1e7ec5beda4e07;hb=9485e6f604db0af1370095eb2b652a5718302070;hp=8d1c40db8a6a2ed56bf5057f7d20cfc547996116;hpb=c95bd3d5fd08d96071c63a96f11bf774ba9ed58a;p=ci-management.git diff --git a/jjb/global-templates-docker.yaml b/jjb/global-templates-docker.yaml index 8d1c40db8..eecedd464 100644 --- a/jjb/global-templates-docker.yaml +++ b/jjb/global-templates-docker.yaml @@ -24,6 +24,8 @@ # Default to LF standard 'snapshots' docker registry docker_registry: '$DOCKER_REGISTRY:10003' docker_tag: 'latest' + submodule-disable: false + submodule-timeout: 10 ##################### # Job Configuration # @@ -100,6 +102,7 @@ <<: *docker_merge_boiler_plate builders: + - lf-infra-pre-build - lf-infra-docker-login: global-settings-file: 'global-settings' settings-file: '{mvn-settings}' @@ -140,6 +143,7 @@ <<: *docker_merge_boiler_plate builders: + - lf-infra-pre-build - lf-infra-docker-login: global-settings-file: 'global-settings' settings-file: '{mvn-settings}' @@ -185,6 +189,7 @@ <<: *docker_verify_boiler_plate builders: + - lf-infra-pre-build - lf-infra-docker-login: global-settings-file: 'global-settings' settings-file: '{mvn-settings}' @@ -227,6 +232,7 @@ <<: *docker_verify_boiler_plate builders: + - lf-infra-pre-build - lf-infra-docker-login: global-settings-file: 'global-settings' settings-file: '{mvn-settings}' @@ -274,9 +280,12 @@ refspec: '$GERRIT_REFSPEC' branch: '$GERRIT_BRANCH' submodule-recursive: true + submodule-timeout: '{submodule-timeout}' + submodule-disable: '{submodule-disable}' choosing-strategy: default builders: + - lf-infra-pre-build - lf-infra-docker-login: global-settings-file: 'global-settings' settings-file: '{mvn-settings}' @@ -332,9 +341,12 @@ refspec: '$GERRIT_REFSPEC' branch: '$GERRIT_BRANCH' submodule-recursive: true + submodule-timeout: '{submodule-timeout}' + submodule-disable: '{submodule-disable}' choosing-strategy: default builders: + - lf-infra-pre-build - lf-infra-docker-login: global-settings-file: 'global-settings' settings-file: '{mvn-settings}' @@ -379,6 +391,7 @@ <<: *docker_merge_boiler_plate builders: + - lf-infra-pre-build - lf-infra-docker-login: global-settings-file: 'global-settings' settings-file: '{mvn-settings}' @@ -416,6 +429,7 @@ <<: *docker_merge_boiler_plate builders: + - lf-infra-pre-build - lf-infra-docker-login: global-settings-file: 'global-settings' settings-file: '{mvn-settings}' @@ -461,6 +475,7 @@ <<: *docker_verify_boiler_plate builders: + - lf-infra-pre-build - lf-infra-docker-login: global-settings-file: 'global-settings' settings-file: '{mvn-settings}' @@ -499,6 +514,7 @@ <<: *docker_verify_boiler_plate builders: + - lf-infra-pre-build - lf-infra-docker-login: global-settings-file: 'global-settings' settings-file: '{mvn-settings}' @@ -546,9 +562,12 @@ refspec: '$GERRIT_REFSPEC' branch: '$GERRIT_BRANCH' submodule-recursive: true + submodule-timeout: '{submodule-timeout}' + submodule-disable: '{submodule-disable}' choosing-strategy: default builders: + - lf-infra-pre-build - lf-infra-docker-login: global-settings-file: 'global-settings' settings-file: '{mvn-settings}' @@ -604,9 +623,12 @@ refspec: '$GERRIT_REFSPEC' branch: '$GERRIT_BRANCH' submodule-recursive: true + submodule-timeout: '{submodule-timeout}' + submodule-disable: '{submodule-disable}' choosing-strategy: default builders: + - lf-infra-pre-build - lf-infra-docker-login: global-settings-file: 'global-settings' settings-file: '{mvn-settings}' @@ -659,9 +681,12 @@ refspec: '$GERRIT_REFSPEC' branch: '$GERRIT_BRANCH' submodule-recursive: true + submodule-timeout: '{submodule-timeout}' + submodule-disable: '{submodule-disable}' choosing-strategy: default builders: + - lf-infra-pre-build - lf-infra-docker-login: global-settings-file: 'global-settings' settings-file: '{mvn-settings}' @@ -709,9 +734,12 @@ refspec: '$GERRIT_REFSPEC' branch: '$GERRIT_BRANCH' submodule-recursive: true + submodule-timeout: '{submodule-timeout}' + submodule-disable: '{submodule-disable}' choosing-strategy: default builders: + - lf-infra-pre-build - lf-infra-docker-login: global-settings-file: 'global-settings' settings-file: '{mvn-settings}' @@ -743,4 +771,137 @@ - '{parent_job}' result: 'success' +- 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 + + triggers: + - timed: '@daily' + - gerrit: + server-name: '{gerrit-server-name}' + trigger-on: + - comment-added-contains-event: + comment-contains-value: '^Patch Set\s+\d+:\s+stage-(docker-)?release\s*$' + + projects: + - project-compare-type: ANT + project-pattern: '{project}' + branches: + - branch-compare-type: ANT + branch-pattern: '**/{branch}' + file-paths: + - compare-type: ANT + pattern: "**" + + builders: + - multijob: + name: 'build docker images' + condition: ALWAYS + execution-type: PARALLEL + projects: + - name: '{project-name}-amd64-maven-docker-stage-{stream}' + kill-phase-on: FAILURE + current-parameters: true + - name: '{project-name}-arm64-maven-docker-stage-{stream}' + kill-phase-on: NEVER + current-parameters: true + - multijob: + name: 'publish docker manifest' + condition: SUCCESSFUL + execution-type: PARALLEL + projects: + - name: '{project-name}-docker-manifest-{stream}' + current-parameters: true + predefined-parameters: | + PARENT_JOB_NAME=$JOB_NAME + DOCKERHUB_REGISTRY=docker.io