diff 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 diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/do_all.sh	Sun Oct 19 15:14:40 2014 +0200
@@ -0,0 +1,61 @@
+#!/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