From a247e9f6f260b463f50fb5af072be9e25c7aec3f Mon Sep 17 00:00:00 2001 From: JulienBe Date: Wed, 8 Mar 2017 13:07:21 -0800 Subject: new job to release docker images pull docker image from release, tag it, push it to release Change-Id: I2418b5ae085fe09ed00f7ebaa6ceed4664c236ed Signed-off-by: JulienBe --- jjb/global-templates-script.yaml | 39 +++++++++++++++++++++++++++++++++++++++ jjb/include-docker-blessing.sh | 28 ++++++++++++++++++++++++++++ jjb/mso/mso.yaml | 1 + 3 files changed, 68 insertions(+) create mode 100755 jjb/include-docker-blessing.sh (limited to 'jjb') diff --git a/jjb/global-templates-script.yaml b/jjb/global-templates-script.yaml index 905813302..3932d07d2 100644 --- a/jjb/global-templates-script.yaml +++ b/jjb/global-templates-script.yaml @@ -793,3 +793,42 @@ # publishers: # - ecomp-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-2c-1g' + + parameters: + - string: + name: VERSION + description: "VERSION of the STAGING image to bless into this RELEASE VERSION + Example : 1.2.3" + - string: + name: TIMESTAMP + description: "TIMESTAMP of the STAGING image to pull + Example : 20170308T1332" + - string: + name: PROJECT + default: '{project}' + + properties: + - ecomp-infra-properties: + build-days-to-keep: '{build-days-to-keep}' + + wrappers: + - ecomp-infra-wrappers: + build-timeout: '{build-timeout}' + + builders: + - provide-maven-settings: + global-settings-file: 'global-settings' + settings-file: '{mvn-settings}' + - docker-login + - shell: !include-raw: include-docker-blessing.sh \ No newline at end of file diff --git a/jjb/include-docker-blessing.sh b/jjb/include-docker-blessing.sh new file mode 100755 index 000000000..3cb67cf95 --- /dev/null +++ b/jjb/include-docker-blessing.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +if [ -z "$VERSION" ]; +then + echo "Error: no version provided" + exit 1 +fi + +if [ -z "$TIMESTAMP" ]; +then + echo "Error: no timestamp provided" + exit 1 +fi + +if [ -z "$PROJECT" ]; +then + echo "Error: no project provided" + exit 1 +fi + +RELEASE_REPOSITORY="nexus3.openecomp.org:10002" +SNAPSHOT_REPOSITORY="nexus3.openecomp.org:10003" +STAGING_IMAGE="openecomp/$PROJECT:$VERSION-STAGING-$TIMESTAMP" +RELEASE_IMAGE="openecomp/$PROJECT:$VERSION" + +docker pull "$SNAPSHOT_REPOSITORY/$STAGING_IMAGE" +docker tag "$SNAPSHOT_REPOSITORY/$STAGING_IMAGE" "$RELEASE_REPOSITORY/$RELEASE_IMAGE" +docker push "$RELEASE_REPOSITORY/$RELEASE_IMAGE" \ No newline at end of file diff --git a/jjb/mso/mso.yaml b/jjb/mso/mso.yaml index ae78a4d82..b577194b7 100644 --- a/jjb/mso/mso.yaml +++ b/jjb/mso/mso.yaml @@ -10,6 +10,7 @@ - '{project-name}-{stream}-docker-java-daily': docker-pom: 'pom.xml' mvn-profile: 'docker' + - '{project-name}-docker-image-blessing' project: 'mso' stream: -- cgit 1.2.3-korg