Add daily jjob to build and push functest docker
[releng.git] / jjb / functest / functest-docker.sh
1 #!/bin/bash
2 set -o errexit
3 set -o nounset
4 set -o pipefail
5
6
7 echo "Starting the build of Functest Docker."
8 echo "--------------------------------------------------------"
9 echo
10
11 DOCKER_IMAGE_NAME="opnfv/functest"
12
13 # Get tag version
14 DOCKER_TAG=$(../../calculate_version.sh -t docker -n $DOCKER_IMAGE_NAME)
15
16 ret_val=$?
17 if [ $ret_val -ne 0 ]; then
18     echo "Error retrieving the version tag."
19     exit 1
20 else
21     echo "Tag version to be build and pushed: $DOCKER_TAG"
22 fi
23
24 # Remove previous running containers
25 echo "Removing existing $DOCKER_IMAGE_NAME containers..."
26 docker ps | grep $DOCKER_IMAGE_NAME | awk '{{print $1}}' | xargs docker stop &>/dev/null
27 docker ps -a | grep $DOCKER_IMAGE_NAME | awk '{{print $1}}' | xargs docker rm &>/dev/null
28
29 # Remove existing images
30 echo "Removing existing $DOCKER_IMAGE_NAME images..."
31 docker images | grep $DOCKER_IMAGE_NAME | awk '{{print $3}}' | xargs docker rmi &>/dev/null
32
33
34 # Start the build
35 echo "Starting image build of $DOCKER_IMAGE_NAME:$DOCKER_TAG..."
36 cd $WORKSPACE/docker/
37 docker build -t $DOCKER_IMAGE_NAME:$DOCKER_TAG .
38
39 # list the images
40 echo "Available images are:"
41 docker images
42
43
44 if [ "$PUSH_IMAGE" == "true" ]; then
45     echo "Pushing $DOCKER_IMAGE_NAME:$DOCKER_TAG to the docker registry..."
46     echo "--------------------------------------------------------"
47     echo
48     # Push to the Dockerhub repository
49     docker push $DOCKER_IMAGE_NAME:$DOCKER_TAG
50 fi