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>
- gerrit:
server-name: 'gerrit.opnfv.org'
trigger-on:
- gerrit:
server-name: 'gerrit.opnfv.org'
trigger-on:
projects:
- project-compare-type: 'ANT'
project-pattern: '{project}'
projects:
- project-compare-type: 'ANT'
project-pattern: '{project}'
predefined-parameters: |
PUSH_IMAGE=$PUSH_IMAGE
COMMIT_ID=$COMMIT_ID
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
DOCKERFILE=$DOCKERFILE
kill-phase-on: FAILURE
abort-all-jobs: false
default: ""
description: "commit id to make a snapshot docker image"
- string:
default: ""
description: "commit id to make a snapshot docker image"
- string:
- 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"
- string:
name: DOCKERFILE
default: "Dockerfile"
predefined-parameters: |
PUSH_IMAGE=$PUSH_IMAGE
COMMIT_ID=$COMMIT_ID
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
DOCKERFILE=$DOCKERFILE
kill-phase-on: FAILURE
abort-all-jobs: false
git-revision: true
node-parameters: false
predefined-parameters:
git-revision: true
node-parameters: false
predefined-parameters:
- RELEASE_VERSION=$RELEASE_VERSION
+ GERRIT_REFNAME=$GERRIT_REFNAME
kill-phase-on: FAILURE
abort-all-jobs: false
kill-phase-on: FAILURE
abort-all-jobs: false
triggers:
- pollscm:
cron: "*/30 * * * *"
triggers:
- pollscm:
cron: "*/30 * * * *"
+ - gerrit-trigger-tag-created:
+ project: '{project}'
name: PROJECT
default: "{project}"
description: "Project name used to enable job conditions"
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
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
default: ""
description: "commit id to make a snapshot docker image"
- string:
default: ""
description: "commit id to make a snapshot docker image"
- string:
- 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"
- string:
name: DOCKERFILE
default: "Dockerfile"
default: "{docker_repo_name}"
description: "Dockerhub repo to be pushed to."
- string:
default: "{docker_repo_name}"
description: "Dockerhub repo to be pushed to."
- string:
- 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}"
- string:
name: DOCKER_DIR
default: "{dockerdir}"
triggers:
- pollscm:
cron: "*/30 * * * *"
triggers:
- pollscm:
cron: "*/30 * * * *"
+ - gerrit-trigger-tag-created:
+ project: '{project}'
+GERRIT_REFNAME=${GERRIT_REFNAME:-''}
+RELEASE_VERSION=${GERRIT_REFNAME/refs\/tags//}
+
if [[ "$BRANCH" == "master" ]]; then
DOCKER_TAG="latest"
elif [[ -n "${RELEASE_VERSION-}" ]]; then
if [[ "$BRANCH" == "master" ]]; then
DOCKER_TAG="latest"
elif [[ -n "${RELEASE_VERSION-}" ]]; then
default: ""
description: "commit id to make a snapshot docker image"
- string:
default: ""
description: "commit id to make a snapshot docker image"
- string:
- 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}"
- string:
name: DOCKERFILE
default: "{dockerfile}"
triggers:
- pollscm:
cron: "*/30 * * * *"
triggers:
- pollscm:
cron: "*/30 * * * *"
+ - gerrit-trigger-tag-created:
+ project: '{project}'