view docker/do_all.sh @ 21:0e78c8a4626e

Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
author Goffi <goffi@goffi.org>
date Sun, 19 Oct 2014 15:14:40 +0200
parents
children b2a09608bd9b
line wrap: on
line source

#!/bin/sh

# This script build all container in the right order
# Copyright (C) 2014 Jérôme Poisson (goffi@goffi.org)

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.

# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

DIRS="base media sat_nomedia sat jp primitivus prosody sat_pubsub salut libervia data"
ACCOUNT="salutatoi"

ori_dir=$(pwd)

if [ $# -eq 0 ]; then
	cmd="build"
else
	case $1 in
		build)
			cmd="build"
			BEFORE="-t"
			AFTER="."
			;;
		push)
			cmd="push"
			TAG=":latest"
			;;
		pull)
			cmd="pull"
			TAG=":latest"
			;;
		*)
			printf "Invalid command ($1)\n"
			exit 1
			;;
	esac
	
	shift
fi

for cont_dir in $DIRS; do
	cont_name=$(grep -o "Salut à Toi/[^ ]\+" $cont_dir/Dockerfile | sed "s&Salut à Toi/&&" | tr '[:upper:]' '[:lower:]')
	cd "$cont_dir"
	printf "\n==> Doing a $cmd for $ACCOUNT/$cont_name in $cont_dir with extra [$@] <===\n\n"
	docker $cmd $BEFORE "$ACCOUNT/${cont_name}${TAG}" "$@" "$AFTER"
	err=$?
	cd "$ori_dir"
	if [ $err -ne 0 ]; then
		printf "Build of $cont_name failed (exit code $err), exiting\n"
		exit 1
	fi
done