Mercurial > sat_docs
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