summaryrefslogtreecommitdiffstats
path: root/jjb/functest
diff options
context:
space:
mode:
authorjose.lausuch <jose.lausuch@ericsson.com>2015-11-20 16:36:21 +0100
committerjose.lausuch <jose.lausuch@ericsson.com>2015-11-26 13:36:06 +0100
commit7c7f2f0bc299c31a1fe5ffe3271b44439c80a65d (patch)
tree8c4a3c2d8dc9674d05ac1d6310608c63ceda7739 /jjb/functest
parentc21e64ac3e342f820ad31ba264d8b7c93b3cd91f (diff)
Create generic jenkins job to build and push a docker image
This is a proposal so that we use the same methodology when it comes to building and pushing docker images. With this approach, yardstick Makefile is not needed for automation. For now, it is usable by Yardstick and Functest docker images. JIRA: RELENG-55 Change-Id: I58cfb4740cdfca82f69c102caefe9f29c92f099e Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
Diffstat (limited to 'jjb/functest')
-rw-r--r--jjb/functest/functest-docker.sh71
-rw-r--r--jjb/functest/functest-docker.yml74
2 files changed, 0 insertions, 145 deletions
diff --git a/jjb/functest/functest-docker.sh b/jjb/functest/functest-docker.sh
deleted file mode 100644
index c73bcf99a..000000000
--- a/jjb/functest/functest-docker.sh
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/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
-cd $WORKSPACE
-git clone https://gerrit.opnfv.org/gerrit/releng
-
-DOCKER_TAG=$($WORKSPACE/releng/utils/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 if exist
-if [[ ! -z $(docker ps -a | grep $DOCKER_IMAGE_NAME) ]]; then
- echo "Removing existing $DOCKER_IMAGE_NAME containers..."
- docker ps | grep $DOCKER_IMAGE_NAME | awk '{{print $1}}' | xargs docker stop
- docker ps -a | grep $DOCKER_IMAGE_NAME | awk '{{print $1}}' | xargs docker rm
-fi
-
-
-# Remove existing images if exist
-if [[ ! -z $(docker images | grep $DOCKER_IMAGE_NAME) ]]; then
- echo "Docker images to remove:"
- docker images | head -1 && docker images | grep $DOCKER_IMAGE_NAME
- image_tags=($(docker images | grep $DOCKER_IMAGE_NAME | awk '{{print $2}}'))
- for tag in "${{image_tags[@]}}"; do
- echo "Removing docker image $DOCKER_IMAGE_NAME:$tag..."
- docker rmi $DOCKER_IMAGE_NAME:$tag
- done
-fi
-
-
-# Start the build
-echo "Building docker image: $DOCKER_IMAGE_NAME:$DOCKER_TAG..."
-cd $WORKSPACE/docker
-docker build -t $DOCKER_IMAGE_NAME:$DOCKER_TAG .
-echo "Creating tag 'latest'..."
-docker tag $DOCKER_IMAGE_NAME:$DOCKER_TAG $DOCKER_IMAGE_NAME:latest
-
-# 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
-
- echo "Updating $DOCKER_IMAGE_NAME:latest to the docker registry..."
- docker push $DOCKER_IMAGE_NAME:latest
-fi
diff --git a/jjb/functest/functest-docker.yml b/jjb/functest/functest-docker.yml
deleted file mode 100644
index ee5adc6f7..000000000
--- a/jjb/functest/functest-docker.yml
+++ /dev/null
@@ -1,74 +0,0 @@
-##############################################
-# 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."