From fa661189fb7cb449b021a546c674fb5126f47f35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20Hedenstr=C3=B6m?= <erik@codemate.se> Date: Thu, 13 Mar 2014 17:18:25 +0100 Subject: [PATCH] Added docker-build.sh script --- install/11_docker.sh | 3 ++- install/docker/docker-build.sh | 37 ++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 install/docker/docker-build.sh diff --git a/install/11_docker.sh b/install/11_docker.sh index d7ac6ca..0d9ea5b 100755 --- a/install/11_docker.sh +++ b/install/11_docker.sh @@ -4,7 +4,8 @@ set -e # Exit on errors mkdir -p $JENKINS_HOME/tools/docker/bin curl -s https://get.docker.io/builds/Linux/x86_64/docker-latest -o $JENKINS_HOME/tools/docker/bin/docker -chmod 755 $JENKINS_HOME/tools/docker/bin/docker +cp ${0%/*}/docker/docker-build.sh $JENKINS_HOME/tools/docker/bin +chmod 755 $JENKINS_HOME/tools/docker/bin/* echo "export PATH=$JENKINS_HOME/tools/docker/bin:\$PATH" > /etc/profile.d/docker.sh chmod 755 /etc/profile.d/docker.sh diff --git a/install/docker/docker-build.sh b/install/docker/docker-build.sh new file mode 100644 index 0000000..37c6009 --- /dev/null +++ b/install/docker/docker-build.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +set -e # Exit on errors + +# Extract info from Dockerfile + +DOCKER_REPOSITORY=`grep '^# REPOSITORY' Dockerfile | awk -F ' ' '{print $3}'` +if [ ! ${DOCKER_REPOSITORY:+x} ]; then + DOCKER_REPOSITORY=`echo 'registry.codemate.se/'${PWD##*/}` +fi + +DOCKER_TAG=`grep '^# VERSION' Dockerfile | awk -F ' ' '{print $3}'` +if [ ! ${DOCKER_TAG:+x} ]; then + DOCKER_TAG='1.0.0' +fi + +# Build and publish image + +docker build -rm -t $DOCKER_REPOSITORY . +docker tag $DOCKER_REPOSITORY $DOCKER_REPOSITORY:$DOCKER_TAG +docker push $DOCKER_REPOSITORY + +set +e # Ignore errors + +# Remove stopped containers + +for CONTAINER in $(docker ps -a | awk '/Exit -?[0-9]+/ { print $1 }'); do + docker rm $CONTAINER +done + +# Remove untagged images + +for IMAGE in $(docker images | awk '/^<none>/ { print $3 }'); do + docker rmi $IMAGE +done + +exit 0 \ No newline at end of file -- GitLab