Remove -f flag from functest docker job
[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
14 # Get tag version
15 cd $WORKSPACE
16 git clone https://gerrit.opnfv.org/gerrit/releng
17
18 DOCKER_TAG=$($WORKSPACE/releng/utils/calculate_version.sh -t docker -n $DOCKER_IMAGE_NAME)
19
20 ret_val=$?
21 if [ $ret_val -ne 0 ]; then
22     echo "Error retrieving the version tag."
23     exit 1
24 else
25     echo "Tag version to be build and pushed: $DOCKER_TAG"
26 fi
27
28 # Remove previous running containers
29 echo "Removing existing $DOCKER_IMAGE_NAME containers..."
30 if [[ ! -z $(docker ps -a | grep $DOCKER_IMAGE_NAME) ]]; then
31     docker ps | grep $DOCKER_IMAGE_NAME | awk '{{print $1}}' | xargs docker stop &>/dev/null
32     docker ps -a | grep $DOCKER_IMAGE_NAME | awk '{{print $1}}' | xargs docker rm &>/dev/null
33 fi
34
35 # Remove existing images
36 echo "Removing existing $DOCKER_IMAGE_NAME images..."
37 if [[ ! -z $(docker images | grep $DOCKER_IMAGE_NAME) ]]; then
38     docker images | grep $DOCKER_IMAGE_NAME | awk '{{print $3}}' | xargs docker rmi &>/dev/null
39 fi
40
41
42 # Start the build
43 echo "Building of $DOCKER_IMAGE_NAME:$DOCKER_TAG..."
44 cd $WORKSPACE/docker
45 docker build -t $DOCKER_IMAGE_NAME:$DOCKER_TAG .
46 echo "Creating tag 'latest'..."
47 docker tag $DOCKER_IMAGE_NAME:$DOCKER_TAG $DOCKER_IMAGE_NAME:latest
48
49 # list the images
50 echo "Available images are:"
51 docker images
52
53
54 if [ "$PUSH_IMAGE" == "true" ]; then
55     echo "Pushing $DOCKER_IMAGE_NAME:$DOCKER_TAG to the docker registry..."
56     echo "--------------------------------------------------------"
57     echo
58     # Push to the Dockerhub repository
59     docker push $DOCKER_IMAGE_NAME:$DOCKER_TAG
60
61     echo "Updating $DOCKER_IMAGE_NAME:latest to the docker registry..."
62     docker push $DOCKER_IMAGE_NAME:latest
63 fi