X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=jjb%2Fglobal-templates-docker.yaml;h=23a554ba96e936e72ac9ed15adc95a03b8151f0a;hb=refs%2Fheads%2Fmaster;hp=8d1c40db8a6a2ed56bf5057f7d20cfc547996116;hpb=d0e846cb0025bf9f68ce363cfdd42fa403d95968;p=ci-management.git diff --git a/jjb/global-templates-docker.yaml b/jjb/global-templates-docker.yaml deleted file mode 100644 index 8d1c40db8..000000000 --- a/jjb/global-templates-docker.yaml +++ /dev/null @@ -1,746 +0,0 @@ ---- -########### -# ANCHORS # -########### -- docker_job_boiler_plate: &docker_job_boiler_plate - name: docker_job_boiler_plate - - project-type: freestyle - node: '{build-node}' - - ###################### - # Default parameters # - ###################### - - branch: master - submodule-recursive: true - - # default params for docker jobs - pre_build_script: '' - post_build_script: '' - docker_root: '$WORKSPACE' - docker_build_args: '' - docker_name: 'unnamed' - # Default to LF standard 'snapshots' docker registry - docker_registry: '$DOCKER_REGISTRY:10003' - docker_tag: 'latest' - - ##################### - # Job Configuration # - ##################### - - properties: - - lf-infra-properties: - build-days-to-keep: '{build-days-to-keep}' - - parameters: - - lf-infra-parameters: - branch: '{branch}' - project: '{project}' - stream: '{stream}' - lftools-version: '{lftools-version}' - - wrappers: - - lf-infra-wrappers: - build-timeout: '{build-timeout}' - jenkins-ssh-credential: '{jenkins-ssh-credential}' - - publishers: - - lf-infra-publish - -- docker_verify_boiler_plate: &docker_verify_boiler_plate - name: docker_verify_boiler_plate - - concurrent: true - - scm: - - gerrit-trigger-scm: - refspec: '$GERRIT_REFSPEC' - choosing-strategy: 'default' - submodule-recursive: '{submodule-recursive}' - - triggers: - - gerrit-trigger-patch-submitted: - status-context: '{project}-Docker-Verify' - server: '{server-name}' - project: '{project}' - branch: '{branch}' - files: '{files}' - -- docker_merge_boiler_plate: &docker_merge_boiler_plate - name: docker_merge_boiler_plate - - scm: - - gerrit-trigger-scm: - refspec: '$GERRIT_REFSPEC' - choosing-strategy: 'default' - submodule-recursive: '{submodule-recursive}' - - triggers: - - gerrit-trigger-patch-merged: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - files: '{files}' - - pollscm: - cron: '' - -################# -# JOB TEMPLATES # -################# -- job-template: - name: '{project-name}-{stream}-merge-docker' - # Job template for Docker merge jobs - # - # The purpose of this job template is to run a docker build, and potentially - # test validation of the docker image - - <<: *docker_job_boiler_plate - # yamllint disable-line rule:key-duplicates - <<: *docker_merge_boiler_plate - - builders: - - lf-infra-docker-login: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - shell: '{pre_build_script}' - - inject: - # Docker registry is purposely not using an '_' so as to not conflict - # with the Jenkins global env var - properties-content: | - DOCKER_ARGS={docker_build_args} - DOCKER_NAME={docker_name} - DOCKER_ROOT={docker_root} - DOCKER_TAG={docker_tag} - BUILD_MODE=SNAPSHOT - DOCKERREGISTRY={docker_registry} - # Do the docker build - - shell: !include-raw: ../shell/docker-build.sh - - inject: - # Import the docker image information from the build step - properties-file: 'env_inject.txt' - # Execute any post build clean-up or testing - - shell: '{post_build_script}' - # Provided all steps have already passed, push the docker image - - shell: !include-raw: ../shell/docker-push.sh - -- job-template: - name: '{project-name}-{stream}-merge-docker-cascade-trigger' - # Job template for Docker merge jobs - # - # The purpose of this job template is to run a docker build, and potentially - # test validation of the docker image. This job is triggered by the it's corresponding - # job that builds the artifacts from which the docker image is built from. Projects - # using the {project-name}-{stream}-merge-docker job should move to this job. Because - # the {project-name}-{stream}-merge-docker has no garanties that the docker image is built - # from merged artifact. - - <<: *docker_job_boiler_plate - # yamllint disable-line rule:key-duplicates - <<: *docker_merge_boiler_plate - - builders: - - lf-infra-docker-login: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - shell: '{pre_build_script}' - - inject: - # Docker registry is purposely not using an '_' so as to not conflict - # with the Jenkins global env var - properties-content: | - DOCKER_ARGS={docker_build_args} - DOCKER_NAME={docker_name} - DOCKER_ROOT={docker_root} - DOCKER_TAG={docker_tag} - BUILD_MODE=SNAPSHOT - DOCKERREGISTRY={docker_registry} - # Do the docker build - - shell: !include-raw: ../shell/docker-build.sh - - inject: - # Import the docker image information from the build step - properties-file: 'env_inject.txt' - # Execute any post build clean-up or testing - - shell: '{post_build_script}' - # Provided all steps have already passed, push the docker image - - shell: !include-raw: ../shell/docker-push.sh - triggers: - - reverse: - jobs: - - '{parent_job}' - result: 'success' - -- job-template: - name: '{project-name}-{stream}-verify-docker' - # Job template for Docker verify jobs - # - # The purpose of this job template is to run a docker build, and potentially - # test validation of the docker image - - ###################### - # Default parameters # - ###################### - - <<: *docker_job_boiler_plate - # yamllint disable-line rule:key-duplicates - <<: *docker_verify_boiler_plate - - builders: - - lf-infra-docker-login: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - shell: '{pre_build_script}' - - inject: - # Docker registry is purposely not using an '_' so as to not conflict - # with the Jenkins global env var - properties-content: | - DOCKER_ARGS={docker_build_args} - DOCKER_NAME={docker_name} - DOCKER_ROOT={docker_root} - DOCKER_TAG={docker_tag} - BUILD_MODE=SNAPSHOT - DOCKERREGISTRY={docker_registry} - # Do the docker build - - shell: !include-raw: ../shell/docker-build.sh - - inject: - # Import the docker image information from the build step - properties-file: 'env_inject.txt' - # Execute any post build clean-up or testing - - shell: '{post_build_script}' - -- job-template: - name: '{project-name}-{stream}-verify-docker-cascade-trigger' - # Job template for Docker verify jobs - # - # The purpose of this job template is to run a docker build, and potentially - # test validation of the docker image. This job is triggered by the it's corresponding - # job that builds the artifacts from which the docker image is built from. Projects - # using the {project-name}-{stream}-verify-docker job should move to this job. Because - # the {project-name}-{stream}-verify-docker has no garanties that the docker image is built - # from merged artifact. - - ###################### - # Default parameters # - ###################### - - <<: *docker_job_boiler_plate - # yamllint disable-line rule:key-duplicates - <<: *docker_verify_boiler_plate - - builders: - - lf-infra-docker-login: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - shell: '{pre_build_script}' - - inject: - # Docker registry is purposely not using an '_' so as to not conflict - # with the Jenkins global env var - properties-content: | - DOCKER_ARGS={docker_build_args} - DOCKER_NAME={docker_name} - DOCKER_ROOT={docker_root} - DOCKER_TAG={docker_tag} - BUILD_MODE=SNAPSHOT - DOCKERREGISTRY={docker_registry} - # Do the docker build - - shell: !include-raw: ../shell/docker-build.sh - - inject: - # Import the docker image information from the build step - properties-file: 'env_inject.txt' - # Execute any post build clean-up or testing - - shell: '{post_build_script}' - triggers: - - reverse: - jobs: - - '{parent_job}' - result: 'success' - -- job-template: - name: '{project-name}-{stream}-release-version-docker-daily-no-sonar' - # Job template for Docker daily release jobs - # - # The purpose of this job template is to run "docker build and docker push" - # for projects using this template. - # - # Required Variables: - # branch: git branch (eg. stable/lithium or master) - <<: *docker_job_boiler_plate - - docker_registry: '$DOCKER_REGISTRY:10003' - - 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 - choosing-strategy: default - - builders: - - lf-infra-docker-login: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - shell: '{pre_build_script}' - - inject: - # Docker registry is purposely not using an '_' so as to not conflict - # with the Jenkins global env var - properties-content: | - DOCKER_ARGS={docker_build_args} - DOCKER_NAME={docker_name} - DOCKER_ROOT={docker_root} - DOCKER_TAG={docker_tag} - DOCKERREGISTRY={docker_registry} - BUILD_MODE=STAGING - - # Do the docker build - - shell: !include-raw: ../shell/snapshot-strip.sh - - shell: !include-raw: ../shell/docker-build.sh - - inject: - # Import the docker image information from the build step - properties-file: 'env_inject.txt' - # Execute any post build clean-up or testing - - shell: '{post_build_script}' - # Provided all steps have already passed, push the docker image - - shell: !include-raw: ../shell/docker-push.sh - - triggers: - # 11 AM UTC - - timed: '@daily' - - gerrit-trigger-release-manually: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - -- job-template: - name: '{project-name}-{stream}-release-version-docker-daily-no-sonar-cascade-trigger' - # Job template for Docker daily release job. - # - # The purpose of this job template is to run "docker build and docker push" - # for projects using this template. This job is triggered by the daily build - # that builds the artifacts required for building the Docker image. - # - # Required Variables: - # branch: git branch (eg. stable/lithium or master) - <<: *docker_job_boiler_plate - - docker_registry: '$DOCKER_REGISTRY:10003' - - 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 - choosing-strategy: default - - builders: - - lf-infra-docker-login: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - shell: '{pre_build_script}' - - inject: - # Docker registry is purposely not using an '_' so as to not conflict - # with the Jenkins global env var - properties-content: | - DOCKER_ARGS={docker_build_args} - DOCKER_NAME={docker_name} - DOCKER_ROOT={docker_root} - DOCKER_TAG={docker_tag} - DOCKERREGISTRY={docker_registry} - BUILD_MODE=STAGING - - # Do the docker build - - shell: !include-raw: ../shell/snapshot-strip.sh - - shell: !include-raw: ../shell/docker-build.sh - - inject: - # Import the docker image information from the build step - properties-file: 'env_inject.txt' - # Execute any post build clean-up or testing - - shell: '{post_build_script}' - # Provided all steps have already passed, push the docker image - - shell: !include-raw: ../shell/docker-push.sh - - triggers: - - reverse: - jobs: - - '{parent_job}' - result: 'success' - -- job-template: - name: '{project-name}-{subproject}-{stream}-merge-docker' - # Job template for Docker merge jobs - # - # The purpose of this job template is to run a docker build, and potentially - # test validation of the docker image - - <<: *docker_job_boiler_plate - # yamllint disable-line rule:key-duplicates - <<: *docker_merge_boiler_plate - - builders: - - lf-infra-docker-login: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - shell: '{pre_build_script}' - - inject: - # Docker registry is purposely not using an '_' so as to not conflict - # with the Jenkins global env var - properties-content: | - DOCKER_ARGS={docker_build_args} - DOCKER_NAME={docker_name} - DOCKER_ROOT={docker_root} - DOCKER_TAG={docker_tag} - DOCKERREGISTRY={docker_registry} - BUILD_MODE=SNAPSHOT - # Do the docker build - - shell: !include-raw: ../shell/docker-build.sh - - inject: - # Import the docker image information from the build step - properties-file: 'env_inject.txt' - # Execute any post build clean-up or testing - - shell: '{post_build_script}' - # Provided all steps have already passed, push the docker image - - shell: !include-raw: ../shell/docker-push.sh - -- job-template: - name: '{project-name}-{subproject}-{stream}-merge-docker-cascade-trigger' - # Job template for Docker merge jobs - # - # The purpose of this job template is to run a docker build, and potentially - # test validation of the docker image. This job is triggered by the merge job - # that builds the artifacts required for building the Docker image. - - <<: *docker_job_boiler_plate - # yamllint disable-line rule:key-duplicates - <<: *docker_merge_boiler_plate - - builders: - - lf-infra-docker-login: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - shell: '{pre_build_script}' - - inject: - # Docker registry is purposely not using an '_' so as to not conflict - # with the Jenkins global env var - properties-content: | - DOCKER_ARGS={docker_build_args} - DOCKER_NAME={docker_name} - DOCKER_ROOT={docker_root} - DOCKER_TAG={docker_tag} - DOCKERREGISTRY={docker_registry} - BUILD_MODE=SNAPSHOT - # Do the docker build - - shell: !include-raw: ../shell/docker-build.sh - - inject: - # Import the docker image information from the build step - properties-file: 'env_inject.txt' - # Execute any post build clean-up or testing - - shell: '{post_build_script}' - # Provided all steps have already passed, push the docker image - - shell: !include-raw: ../shell/docker-push.sh - triggers: - - reverse: - jobs: - - '{parent_job}' - result: 'success' - -- job-template: - name: '{project-name}-{subproject}-{stream}-verify-docker' - # Job template for Docker verify jobs - # - # The purpose of this job template is to run a docker build, and potentially - # test validation of the docker image - - ###################### - # Default parameters # - ###################### - - <<: *docker_job_boiler_plate - # yamllint disable-line rule:key-duplicates - <<: *docker_verify_boiler_plate - - builders: - - lf-infra-docker-login: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - shell: '{pre_build_script}' - - inject: - # Docker registry is purposely not using an '_' so as to not conflict - # with the Jenkins global env var - properties-content: | - DOCKER_ARGS={docker_build_args} - DOCKER_NAME={docker_name} - DOCKER_ROOT={docker_root} - DOCKER_TAG={docker_tag} - DOCKERREGISTRY={docker_registry} - BUILD_MODE=SNAPSHOT - # Do the docker build - - shell: !include-raw: ../shell/docker-build.sh - - inject: - # Import the docker image information from the build step - properties-file: 'env_inject.txt' - # Execute any post build clean-up or testing - - shell: '{post_build_script}' - -- job-template: - name: '{project-name}-{subproject}-{stream}-verify-docker-cascade-trigger' - # Job template for Docker verify jobs - # - # The purpose of this job template is to run a docker build, and potentially - # test validation of the docker image - - ###################### - # Default parameters # - ###################### - - <<: *docker_job_boiler_plate - # yamllint disable-line rule:key-duplicates - <<: *docker_verify_boiler_plate - - builders: - - lf-infra-docker-login: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - shell: '{pre_build_script}' - - inject: - # Docker registry is purposely not using an '_' so as to not conflict - # with the Jenkins global env var - properties-content: | - DOCKER_ARGS={docker_build_args} - DOCKER_NAME={docker_name} - DOCKER_ROOT={docker_root} - DOCKER_TAG={docker_tag} - DOCKERREGISTRY={docker_registry} - BUILD_MODE=SNAPSHOT - # Do the docker build - - shell: !include-raw: ../shell/docker-build.sh - - inject: - # Import the docker image information from the build step - properties-file: 'env_inject.txt' - # Execute any post build clean-up or testing - - shell: '{post_build_script}' - triggers: - - reverse: - jobs: - - '{parent_job}' - result: 'success' - -- job-template: - name: '{project-name}-{subproject}-{stream}-release-version-docker-daily-no-sonar' - # Job template for Docker daily release jobs - # - # The purpose of this job template is to run "docker build and docker push" - # for projects using this template. - # - # Required Variables: - # branch: git branch (eg. stable/lithium or master) - <<: *docker_job_boiler_plate - - docker_registry: '$DOCKER_REGISTRY:10003' - - 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 - choosing-strategy: default - - builders: - - lf-infra-docker-login: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - shell: '{pre_build_script}' - - inject: - # Docker registry is purposely not using an '_' so as to not conflict - # with the Jenkins global env var - properties-content: | - DOCKER_ARGS={docker_build_args} - DOCKER_NAME={docker_name} - DOCKER_ROOT={docker_root} - DOCKER_TAG={docker_tag} - DOCKERREGISTRY={docker_registry} - BUILD_MODE=STAGING - - # Do the docker build - - shell: !include-raw: ../shell/snapshot-strip.sh - - shell: !include-raw: ../shell/docker-build.sh - - inject: - # Import the docker image information from the build step - properties-file: 'env_inject.txt' - # Execute any post build clean-up or testing - - shell: '{post_build_script}' - # Provided all steps have already passed, push the docker image - - shell: !include-raw: ../shell/docker-push.sh - - triggers: - # 11 AM UTC - - timed: '@daily' - - gerrit-trigger-release-manually: - server: '{server-name}' - project: '{project}' - branch: '{branch}' - -- job-template: - name: '{project-name}-{subproject}-{stream}-release-version-docker-daily-no-sonar-cascade-trigger' - # Job template for Docker daily release jobs - # - # The purpose of this job template is to run "docker build and docker push" - # for projects using this template. This job is triggered by the daily job - # that builds the artifacts required for building the Docker image. - # - # Required Variables: - # branch: git branch (eg. stable/lithium or master) - <<: *docker_job_boiler_plate - - docker_registry: '$DOCKER_REGISTRY:10003' - - 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 - choosing-strategy: default - - builders: - - lf-infra-docker-login: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - shell: '{pre_build_script}' - - inject: - # Docker registry is purposely not using an '_' so as to not conflict - # with the Jenkins global env var - properties-content: | - DOCKER_ARGS={docker_build_args} - DOCKER_NAME={docker_name} - DOCKER_ROOT={docker_root} - DOCKER_TAG={docker_tag} - DOCKERREGISTRY={docker_registry} - BUILD_MODE=STAGING - - # Do the docker build - - shell: !include-raw: ../shell/snapshot-strip.sh - - shell: !include-raw: ../shell/docker-build.sh - - inject: - # Import the docker image information from the build step - properties-file: 'env_inject.txt' - # Execute any post build clean-up or testing - - shell: '{post_build_script}' - # Provided all steps have already passed, push the docker image - - shell: !include-raw: ../shell/docker-push.sh - - triggers: - - reverse: - jobs: - - '{parent_job}' - result: 'success' - -- job-template: - name: '{project-name}-{subproject}-{stream}-release-version-docker-no-sonar' - # Job template for Docker final release job - # - # The purpose of this job template is to run "docker build and docker push" - # for projects using this template. - # - # Required Variables: - # branch: git branch (eg. stable/lithium or master) - <<: *docker_job_boiler_plate - - docker_registry: '$DOCKER_REGISTRY:10003' - - 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 - choosing-strategy: default - - builders: - - lf-infra-docker-login: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - shell: '{pre_build_script}' - - inject: - # Docker registry is purposely not using an '_' so as to not conflict - # with the Jenkins global env var - properties-content: | - DOCKER_ARGS={docker_build_args} - DOCKER_NAME={docker_name} - DOCKER_ROOT={docker_root} - DOCKER_TAG={docker_tag} - DOCKERREGISTRY={docker_registry} - BUILD_MODE=STAGING - - # Do the docker build - - shell: !include-raw: ../shell/snapshot-strip.sh - - shell: !include-raw: ../shell/docker-build.sh - - inject: - # Import the docker image information from the build step - properties-file: 'env_inject.txt' - # Execute any post build clean-up or testing - - shell: '{post_build_script}' - # Provided all steps have already passed, push the docker image - - shell: !include-raw: ../shell/docker-push.sh - -- job-template: - name: '{project-name}-{subproject}-{stream}-release-version-docker-cascade-trigger-no-sonar' - # Job template for Docker final release job - # - # The purpose of this job template is to run "docker build and docker push" - # for projects using this template. This job has no cascading counterpart, because the - # final release is moved manually to the release repo. - # - # Required Variables: - # branch: git branch (eg. stable/lithium or master) - <<: *docker_job_boiler_plate - - docker_registry: '$DOCKER_REGISTRY:10003' - - 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 - choosing-strategy: default - - builders: - - lf-infra-docker-login: - global-settings-file: 'global-settings' - settings-file: '{mvn-settings}' - - shell: '{pre_build_script}' - - inject: - # Docker registry is purposely not using an '_' so as to not conflict - # with the Jenkins global env var - properties-content: | - DOCKER_ARGS={docker_build_args} - DOCKER_NAME={docker_name} - DOCKER_ROOT={docker_root} - DOCKER_TAG={docker_tag} - DOCKERREGISTRY={docker_registry} - BUILD_MODE=STAGING - - # Do the docker build - - shell: !include-raw: ../shell/snapshot-strip.sh - - shell: !include-raw: ../shell/docker-build.sh - - inject: - # Import the docker image information from the build step - properties-file: 'env_inject.txt' - # Execute any post build clean-up or testing - - shell: '{post_build_script}' - # Provided all steps have already passed, push the docker image - - shell: !include-raw: ../shell/docker-push.sh - triggers: - - reverse: - jobs: - - '{parent_job}' - result: 'success' - -