diff options
author | jose.lausuch <jose.lausuch@ericsson.com> | 2015-10-19 16:01:31 +0200 |
---|---|---|
committer | Fatih Degirmenci <fatih.degirmenci@ericsson.com> | 2015-11-10 23:26:59 +0000 |
commit | e2ee686780b7a06799e3597b39b041560aca84fc (patch) | |
tree | ba3338c995e2a27d684c3da28d46153dab99087e /jjb | |
parent | 52a09d1c1029a0ddd43546eeebb4e51788e28c00 (diff) |
Add daily jjob to build and push functest docker
JIRA: FUNCTEST-78
Change-Id: I4b50f3ddfc7f97d5d56de08afd065ae88e3eec4c
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
Diffstat (limited to 'jjb')
-rw-r--r-- | jjb/functest/functest-docker.sh | 50 | ||||
-rw-r--r-- | jjb/functest/functest-docker.yml | 74 |
2 files changed, 124 insertions, 0 deletions
diff --git a/jjb/functest/functest-docker.sh b/jjb/functest/functest-docker.sh new file mode 100644 index 000000000..8dcfad799 --- /dev/null +++ b/jjb/functest/functest-docker.sh @@ -0,0 +1,50 @@ +#!/bin/bash +set -o errexit +set -o nounset +set -o pipefail + + +echo "Starting the build of Functest Docker." +echo "--------------------------------------------------------" +echo + +DOCKER_IMAGE_NAME="opnfv/functest" + +# Get tag version +DOCKER_TAG=$(../../calculate_version.sh -t docker -n $DOCKER_IMAGE_NAME) + +ret_val=$? +if [ $ret_val -ne 0 ]; then + echo "Error retrieving the version tag." + exit 1 +else + echo "Tag version to be build and pushed: $DOCKER_TAG" +fi + +# Remove previous running containers +echo "Removing existing $DOCKER_IMAGE_NAME containers..." +docker ps | grep $DOCKER_IMAGE_NAME | awk '{{print $1}}' | xargs docker stop &>/dev/null +docker ps -a | grep $DOCKER_IMAGE_NAME | awk '{{print $1}}' | xargs docker rm &>/dev/null + +# Remove existing images +echo "Removing existing $DOCKER_IMAGE_NAME images..." +docker images | grep $DOCKER_IMAGE_NAME | awk '{{print $3}}' | xargs docker rmi &>/dev/null + + +# Start the build +echo "Starting image build of $DOCKER_IMAGE_NAME:$DOCKER_TAG..." +cd $WORKSPACE/docker/ +docker build -t $DOCKER_IMAGE_NAME:$DOCKER_TAG . + +# list the images +echo "Available images are:" +docker images + + +if [ "$PUSH_IMAGE" == "true" ]; then + echo "Pushing $DOCKER_IMAGE_NAME:$DOCKER_TAG to the docker registry..." + echo "--------------------------------------------------------" + echo + # Push to the Dockerhub repository + docker push $DOCKER_IMAGE_NAME:$DOCKER_TAG +fi diff --git a/jjb/functest/functest-docker.yml b/jjb/functest/functest-docker.yml new file mode 100644 index 000000000..ee5adc6f7 --- /dev/null +++ b/jjb/functest/functest-docker.yml @@ -0,0 +1,74 @@ +############################################## +# job configuration for functest docker build +############################################## + +- project: + + name: functest-docker + + project: 'functest' + + jobs: + - 'functest-docker-build-push-{stream}' + + stream: + - master: + branch: 'master' + +######################## +# job templates +######################## + +- job-template: + name: 'functest-docker-build-push-{stream}' + + project-type: freestyle + + node: ericsson-build + + disabled: false + + parameters: + - project-parameter: + project: '{project}' + - functest-docker-parameter + + + scm: + - git-scm: + credentials-id: '{ssh-credentials}' + refspec: '' + branch: '{branch}' + + logrotate: + daysToKeep: '{build-days-to-keep}' + numToKeep: '{build-num-to-keep}' + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + builders: + - shell: + !include-raw ./functest-docker.sh + + triggers: + - pollscm: "*/30 * * * *" + + +######################## +# parameter macros +######################## +- parameter: + name: functest-docker-parameter + parameters: + - string: + name: GIT_BASE + default: "https://gerrit.opnfv.org/gerrit/$PROJECT" + description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW." + - string: + name: PUSH_IMAGE + default: "true" + description: "To enable/disable pushing the image to Dockerhub." + - string: + name: BASE_VERSION + default: "brahmaputra.0" + description: "Base version to be used." |