summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjose.lausuch <jose.lausuch@ericsson.com>2015-10-19 16:01:31 +0200
committerFatih Degirmenci <fatih.degirmenci@ericsson.com>2015-11-10 23:26:59 +0000
commite2ee686780b7a06799e3597b39b041560aca84fc (patch)
treeba3338c995e2a27d684c3da28d46153dab99087e
parent52a09d1c1029a0ddd43546eeebb4e51788e28c00 (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>
-rw-r--r--jjb/functest/functest-docker.sh50
-rw-r--r--jjb/functest/functest-docker.yml74
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."