X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fopnfv%2Fopnfv-docker.sh;h=f56de7f608b39665936b8f32ac206bf2925750a9;hb=609bf2f9c9c6885b0a1c6acf292e33d80bf1c3f7;hp=bf355973c539f2c3c2779a402925fc17a7d29a4a;hpb=515abcbb935f90ba2cd0aff853625c8ca629a3b1;p=releng.git diff --git a/jjb/opnfv/opnfv-docker.sh b/jjb/opnfv/opnfv-docker.sh index bf355973c..f56de7f60 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 @@ -9,6 +17,14 @@ echo "--------------------------------------------------------" echo +if [[ -n $(ps -ef|grep 'docker build'|grep -v grep) ]]; then + echo "There is already another build process in progress:" + echo $(ps -ef|grep 'docker build'|grep -v grep) + # Abort this job since it will colide and might mess up the current one. + echo "Aborting..." + exit 1 +fi + # Remove previous running containers if exist if [[ -n "$(docker ps -a | grep $DOCKER_REPO_NAME)" ]]; then echo "Removing existing $DOCKER_REPO_NAME containers..." @@ -43,7 +59,7 @@ if [[ "$UPDATE_LATEST_STABLE" == "true" ]]; then echo "ERROR: The image $DOCKER_REPO_NAME with tag $STABLE_TAG does not exist." exit 1 fi - docker tag -f $DOCKER_REPO_NAME:$STABLE_TAG $DOCKER_REPO_NAME:latest_stable + docker tag $DOCKER_REPO_NAME:$STABLE_TAG $DOCKER_REPO_NAME:latest_stable echo "Pushing $DOCKER_REPO_NAME:latest_stable ..." docker push $DOCKER_REPO_NAME:latest_stable exit 0 @@ -51,14 +67,20 @@ fi # cd to directory where Dockerfile is located -if [[ "$DOCKER_REPO_NAME" == "opnfv/functest" ]]; then +if [[ "$DOCKER_REPO_NAME" == "opnfv/bottlenecks" ]]; then + cd $WORKSPACE/ci/docker +elif [[ "$DOCKER_REPO_NAME" == "opnfv/cperf" ]]; then cd $WORKSPACE/docker -elif [[ "$DOCKER_REPO_NAME" == "opnfv/yardstick" ]]; then - cd $WORKSPACE/ci/docker/yardstick-ci -elif [[ "$DOCKER_REPO_NAME" == "opnfv/storperf" ]]; then +elif [[ "$DOCKER_REPO_NAME" == "opnfv/dovetail" ]]; then + cd $WORKSPACE/docker +elif [[ "$DOCKER_REPO_NAME" == "opnfv/functest" ]]; then cd $WORKSPACE/docker elif [[ "$DOCKER_REPO_NAME" == "opnfv/qtip" ]]; then cd $WORKSPACE/docker +elif [[ "$DOCKER_REPO_NAME" == "opnfv/storperf" ]]; then + cd $WORKSPACE/docker +elif [[ "$DOCKER_REPO_NAME" == "opnfv/yardstick" ]]; then + cd $WORKSPACE/tests/ci/docker/yardstick-ci else echo "ERROR: DOCKER_REPO_NAME parameter not valid: $DOCKER_REPO_NAME" exit 1 @@ -70,11 +92,13 @@ echo "Current branch: $branch" if [[ "$branch" == "master" ]]; then DOCKER_TAG="master" + DOCKER_BRANCH_TAG="latest" else git clone https://gerrit.opnfv.org/gerrit/releng $WORKSPACE/releng DOCKER_TAG=$($WORKSPACE/releng/utils/calculate_version.sh -t docker \ -n $DOCKER_REPO_NAME) + DOCKER_BRANCH_TAG="stable" ret_val=$? if [[ $ret_val -ne 0 ]]; then @@ -86,11 +110,16 @@ 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:$DOCKER_BRANCH_TAG" -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 +if [[ $DOCKER_REPO_NAME == *"functest"* ]]; then + docker build --no-cache -t $DOCKER_REPO_NAME:$DOCKER_BRANCH_TAG --build-arg BRANCH=$branch . +else + docker build --no-cache -t $DOCKER_REPO_NAME:$DOCKER_BRANCH_TAG . +fi + +echo "Creating tag '$DOCKER_TAG'..." +docker tag $DOCKER_REPO_NAME:$DOCKER_BRANCH_TAG $DOCKER_REPO_NAME:$DOCKER_TAG # list the images echo "Available images are:" @@ -102,8 +131,9 @@ if [[ "$PUSH_IMAGE" == "true" ]]; then echo "--------------------------------------------------------" echo # Push to the Dockerhub repository - docker push $DOCKER_REPO_NAME:$DOCKER_TAG + echo "Pushing $DOCKER_REPO_NAME:$DOCKER_BRANCH_TAG ..." + docker push $DOCKER_REPO_NAME:$DOCKER_BRANCH_TAG - echo "Updating $DOCKER_REPO_NAME:latest to the docker registry..." - docker push $DOCKER_REPO_NAME:latest + echo "Pushing $DOCKER_REPO_NAME:$DOCKER_TAG ..." + docker push $DOCKER_REPO_NAME:$DOCKER_TAG fi