summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJessica Wagantall <jwagantall@linuxfoundation.org>2023-07-17 12:48:40 -0700
committerJessica Wagantall <jwagantall@linuxfoundation.org>2023-07-17 19:59:43 +0000
commitcbea7e03eb235a7763d4a65c0a7602aeef27ab05 (patch)
tree77b7794ec35d37832219b9c77c92af81834caf5b
parent4fca846d3e0b6162eabba0067135c2263c7f99d0 (diff)
Fix: Remove local deprecated docker template
The local docker build and merge jobs are deprecated and projects should use global-jjb templates instead. Having the old template was creating confusion in jjb 5.0.2 where scripts were getting mixed. Is best to remove the old deprecated template. aai-common is migrated too to use the new template. Issue-ID: CIMAN-33 Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org> Change-Id: I7d1cb277964636ea11cfceccf511ad2dc992dca3
-rw-r--r--jjb/aai/aai-aai-common.yaml10
-rw-r--r--jjb/global-templates-docker.yaml302
-rw-r--r--shell/docker-build.sh41
-rw-r--r--shell/docker-push.sh7
4 files changed, 5 insertions, 355 deletions
diff --git a/jjb/aai/aai-aai-common.yaml b/jjb/aai/aai-aai-common.yaml
index a068a44c8..280972a68 100644
--- a/jjb/aai/aai-aai-common.yaml
+++ b/jjb/aai/aai-aai-common.yaml
@@ -84,8 +84,8 @@
- project:
name: "aai-aai-common-docker"
jobs:
- - "{project-name}-{stream}-verify-docker"
- - "{project-name}-{stream}-merge-docker"
+ - gerrit-docker-verify
+ - gerrit-docker-merge
- gerrit-maven-docker-stage:
sbom-generator: true
mvn-params: "-P docker -Dmaven.test.skip=true"
@@ -107,9 +107,9 @@
branch: "kohn"
distro: "alpine"
mvn-params: "-P spring-boot-2-1,docker"
- docker_name: "onap/aai-common-{distro}"
- docker_build_args: "-f ./Dockerfile.{distro}"
- docker_root: "$WORKSPACE/Dockerfiles/aai-common/"
+ docker-name: "onap/aai-common-{distro}"
+ docker-build-args: "-f ./Dockerfile.{distro}"
+ docker-root: "$WORKSPACE/Dockerfiles/aai-common/"
mvn-settings: "aai-aai-common-settings"
mvn-version: "mvn35"
files: "Dockerfiles/aai-common/**"
diff --git a/jjb/global-templates-docker.yaml b/jjb/global-templates-docker.yaml
deleted file mode 100644
index a58467468..000000000
--- a/jjb/global-templates-docker.yaml
+++ /dev/null
@@ -1,302 +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"
- submodule-disable: false
- submodule-timeout: 10
-
- #####################
- # 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-pre-build
- - 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}-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-pre-build
- - 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:
- # 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"
-
- 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
-
- publishers:
- - lf-infra-publish
diff --git a/shell/docker-build.sh b/shell/docker-build.sh
deleted file mode 100644
index 1cb71d3ff..000000000
--- a/shell/docker-build.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/bash
-# Ensure we fail the job if any steps fail
-# Do not set -u as DOCKER_ARGS may be unbound
-set -e -o pipefail
-
-FULL_DATE=`date +'%Y%m%dT%H%M%S'`
-IMAGE_VERSION=`xmlstarlet sel -N "x=http://maven.apache.org/POM/4.0.0" -t -v "/x:project/x:version" pom.xml | cut -c1-5`
-
-case "$BUILD_MODE" in
- "STAGING")
- DOCKER_TAG="$IMAGE_VERSION"-STAGING-"$FULL_DATE"Z
- DOCKER_LATEST_TAG="$IMAGE_VERSION"-STAGING-latest
- echo "Using tags $DOCKER_TAG and $DOCKER_LATEST_TAG"
- ;;
- "SNAPSHOT")
- DOCKER_TAG="$IMAGE_VERSION"-SNAPSHOT-"$FULL_DATE"Z
- DOCKER_LATEST_TAG="$IMAGE_VERSION"-SNAPSHOT-latest
- echo "Using tags $DOCKER_TAG and $DOCKER_LATEST_TAG"
- ;;
-esac
-
-# Switch to the directory where the Dockerfile is
-cd "$DOCKER_ROOT"
-
-# DOCKERREGISTRY is purposely not using an '_' so as to not conflict with the
-# Jenkins global env var of the DOCKER_REGISTRY which the docker-login step uses
-IMAGE_NAME="$DOCKERREGISTRY/$DOCKER_NAME:$DOCKER_TAG"
-IMAGE_NAME_LATEST="$DOCKERREGISTRY/$DOCKER_NAME:$DOCKER_LATEST_TAG"
-
-# Build the docker image
-
-# Allow word splitting
-# shellcheck disable=SC2086
-docker build $DOCKER_ARGS . -t $IMAGE_NAME -t $IMAGE_NAME_LATEST | tee "$WORKSPACE/docker_build_log.txt"
-
-# Write DOCKER_IMAGE information to a file so it can be injected into the
-# environment for following steps
-echo "DOCKER_IMAGE=$IMAGE_NAME" >> "$WORKSPACE/env_inject.txt"
-echo "DOCKER_IMAGE_LATEST=$IMAGE_NAME_LATEST" >> "$WORKSPACE/env_inject.txt"
-
-
diff --git a/shell/docker-push.sh b/shell/docker-push.sh
deleted file mode 100644
index 937a01ab3..000000000
--- a/shell/docker-push.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-# Ensure we fail the job if any steps fail
-set -e -o pipefail
-
-# Push our image to wherever it's defined to go by the name
-docker push "$DOCKER_IMAGE"
-docker push "$DOCKER_IMAGE_LATEST"