Docker Builds from Git Tag 49/48049/5
authorTrevor Bramwell <tbramwell@linuxfoundation.org>
Thu, 30 Nov 2017 00:53:36 +0000 (16:53 -0800)
committerTrevor Bramwell <tbramwell@linuxfoundation.org>
Tue, 9 Jan 2018 18:24:23 +0000 (10:24 -0800)
Facilitates the creation of docker images from tags pushed to Gerrit,
which should remove the need to manually trigger 'tagged' builds.

Fixes a typo in the 'gerrit-trigger-tag-created' macro,
replaces 'RELEASE_VERSION' with 'GERRIT_REFNAME', and adds the
tag-trigger to docker builds.

Change-Id: I6d8f8f34b1c51d74bb98211dfae21c37cf9356fa
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
jjb/global/releng-macros.yml
jjb/releng/compass4nfv-docker.yml
jjb/releng/functest-docker.yml
jjb/releng/opnfv-docker-arm.yml
jjb/releng/opnfv-docker.sh
jjb/releng/opnfv-docker.yml

index d554f41..c8fcca6 100644 (file)
       - gerrit:
           server-name: 'gerrit.opnfv.org'
           trigger-on:
-            - ref-updated
+            - ref-updated-event
           projects:
             - project-compare-type: 'ANT'
               project-pattern: '{project}'
index 299908d..3b3bb29 100644 (file)
@@ -37,7 +37,7 @@
       predefined-parameters: |
         PUSH_IMAGE=$PUSH_IMAGE
         COMMIT_ID=$COMMIT_ID
-        RELEASE_VERSION=$RELEASE_VERSION
+        GERRIT_REFNAME=$GERRIT_REFNAME
         DOCKERFILE=$DOCKERFILE
       kill-phase-on: FAILURE
       abort-all-jobs: false
           default: ""
           description: "commit id to make a snapshot docker image"
       - string:
-          name: RELEASE_VERSION
+          name: GERRIT_REFNAME
           default: ""
-          description: "Docker tag to be built, e.g. 5.0.0, opnfv-5.0.0, 5.0.RC1"
+          description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1"
       - string:
           name: DOCKERFILE
           default: "Dockerfile"
index acf381f..cc5f216 100644 (file)
@@ -41,7 +41,7 @@
       predefined-parameters: |
         PUSH_IMAGE=$PUSH_IMAGE
         COMMIT_ID=$COMMIT_ID
-        RELEASE_VERSION=$RELEASE_VERSION
+        GERRIT_REFNAME=$GERRIT_REFNAME
         DOCKERFILE=$DOCKERFILE
       kill-phase-on: FAILURE
       abort-all-jobs: false
@@ -51,7 +51,7 @@
       git-revision: true
       node-parameters: false
       predefined-parameters:
-        RELEASE_VERSION=$RELEASE_VERSION
+        GERRIT_REFNAME=$GERRIT_REFNAME
       kill-phase-on: FAILURE
       abort-all-jobs: false
 
@@ -89,6 +89,8 @@
     triggers:
       - pollscm:
           cron: "*/30 * * * *"
+      - gerrit-trigger-tag-created:
+          project: '{project}'
 
     builders:
       - multijob:
           name: PROJECT
           default: "{project}"
           description: "Project name used to enable job conditions"
-      - string:
-          name: RELEASE_VERSION
-          default: ""
-          description: "Docker tag to be built, e.g. 5.0.0, opnfv-5.0.0, 5.0.RC1"
       - string:
           name: GIT_BASE
           default: https://gerrit.opnfv.org/gerrit/$PROJECT
           default: ""
           description: "commit id to make a snapshot docker image"
       - string:
-          name: RELEASE_VERSION
+          name: GERRIT_REFNAME
           default: ""
-          description: "Docker tag to be built, e.g. 5.0.0, opnfv-5.0.0, 5.0.RC1"
+          description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1"
       - string:
           name: DOCKERFILE
           default: "Dockerfile"
index d1566b4..eedb612 100644 (file)
           default: "{docker_repo_name}"
           description: "Dockerhub repo to be pushed to."
       - string:
-          name: RELEASE_VERSION
+          name: GERRIT_REFNAME
           default: ""
-          description: "Release version, e.g. 1.0, 2.0, 3.0"
+          description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1"
       - string:
           name: DOCKER_DIR
           default: "{dockerdir}"
     triggers:
       - pollscm:
           cron: "*/30 * * * *"
+      - gerrit-trigger-tag-created:
+          project: '{project}'
 
     publishers:
       - email:
index ec7b3fd..db2213c 100644 (file)
@@ -75,6 +75,9 @@ echo "Current branch: $BRANCH"
 
 BUILD_BRANCH=$BRANCH
 
+GERRIT_REFNAME=${GERRIT_REFNAME:-''}
+RELEASE_VERSION=${GERRIT_REFNAME/refs\/tags//}
+
 if [[ "$BRANCH" == "master" ]]; then
     DOCKER_TAG="latest"
 elif [[ -n "${RELEASE_VERSION-}" ]]; then
index 8250bfe..0951cf6 100644 (file)
           default: ""
           description: "commit id to make a snapshot docker image"
       - string:
-          name: RELEASE_VERSION
+          name: GERRIT_REFNAME
           default: ""
-          description: "Docker tag to be built, e.g. 5.0.0, opnfv-5.0.0, 5.0.RC1"
+          description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1"
       - string:
           name: DOCKERFILE
           default: "{dockerfile}"
     triggers:
       - pollscm:
           cron: "*/30 * * * *"
+      - gerrit-trigger-tag-created:
+          project: '{project}'
 
     publishers:
       - email: