X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=jjb%2Fopnfv%2Fopnfv-docker.sh;h=4089a6ff38a025e56969e3bd2fdcbdca7394c922;hb=cca8ffd8084b0b69b7f9d2d3976ceedee7443cd5;hp=108485d0b01c5be1781fd9990d98f50be3b6e70e;hpb=ab273f3fb5bdb3afcd240c09d4a69a5081b3bb93;p=releng.git diff --git a/jjb/opnfv/opnfv-docker.sh b/jjb/opnfv/opnfv-docker.sh index 108485d0b..4089a6ff3 100644 --- a/jjb/opnfv/opnfv-docker.sh +++ b/jjb/opnfv/opnfv-docker.sh @@ -1,4 +1,12 @@ #!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2016 Ericsson AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## set -o errexit set -o nounset set -o pipefail @@ -10,17 +18,12 @@ echo # Remove previous running containers if exist -if [[ ! -z $(docker ps -a | grep $DOCKER_REPO_NAME) ]]; then +if [[ -n "$(docker ps -a | grep $DOCKER_REPO_NAME)" ]]; then echo "Removing existing $DOCKER_REPO_NAME containers..." - #docker ps | grep $DOCKER_REPO_NAME | awk '{print $1}' | xargs docker stop docker ps -a | grep $DOCKER_REPO_NAME | awk '{print $1}' | xargs docker rm -f t=60 # Wait max 60 sec for containers to be removed - while [[ $t -gt 0 ]]; do - ids=$(docker ps | grep $DOCKER_REPO_NAME |awk '{print $1}') - if [[ -z $ids ]]; then - break - fi + while [[ $t -gt 0 ]] && [[ -n "$(docker ps| grep $DOCKER_REPO_NAME)" ]]; do sleep 1 let t=t-1 done @@ -28,13 +31,15 @@ fi # Remove existing images if exist -if [[ ! -z $(docker images | grep $DOCKER_REPO_NAME) ]]; then +if [[ -n "$(docker images | grep $DOCKER_REPO_NAME)" ]]; then echo "Docker images to remove:" docker images | head -1 && docker images | grep $DOCKER_REPO_NAME image_tags=($(docker images | grep $DOCKER_REPO_NAME | awk '{print $2}')) for tag in "${image_tags[@]}"; do - echo "Removing docker image $DOCKER_REPO_NAME:$tag..." - docker rmi -f $DOCKER_REPO_NAME:$tag + if [[ -n "$(docker images|grep $DOCKER_REPO_NAME|grep $tag)" ]]; then + echo "Removing docker image $DOCKER_REPO_NAME:$tag..." + docker rmi -f $DOCKER_REPO_NAME:$tag + fi done fi @@ -89,11 +94,11 @@ echo "Tag version to be build and pushed: $DOCKER_TAG" # Start the build -echo "Building docker image: $DOCKER_REPO_NAME:$DOCKER_TAG..." +echo "Building docker image: $DOCKER_REPO_NAME:latest" -docker build --no-cache -t $DOCKER_REPO_NAME:$DOCKER_TAG . -echo "Creating tag 'latest'..." -docker tag $DOCKER_REPO_NAME:$DOCKER_TAG $DOCKER_REPO_NAME:latest +docker build --no-cache -t $DOCKER_REPO_NAME:latest . +echo "Creating tag '$DOCKER_TAG'..." +docker tag -f $DOCKER_REPO_NAME:latest $DOCKER_REPO_NAME:$DOCKER_TAG # list the images echo "Available images are:" @@ -105,8 +110,9 @@ if [[ "$PUSH_IMAGE" == "true" ]]; then echo "--------------------------------------------------------" echo # Push to the Dockerhub repository - docker push $DOCKER_REPO_NAME:$DOCKER_TAG - - echo "Updating $DOCKER_REPO_NAME:latest to the docker registry..." + echo "Pushing $DOCKER_REPO_NAME:latest ..." docker push $DOCKER_REPO_NAME:latest + + echo "Pushing $DOCKER_REPO_NAME:$DOCKER_TAG ..." + docker push $DOCKER_REPO_NAME:$DOCKER_TAG fi