view scripts/updates-apply.sh @ 205:f24a5f2abcdf production

Added tag vv1.4.0 for changeset e05f5379eb0e
author Christopher Springer <springer@nwoca.org>
date Tue, 26 Sep 2017 15:34:00 +0100
parents fea886ba7279
children 6aecbb32c587
line wrap: on
line source
#!/bin/bash
# Scans for docker projects in specified parent path and
# updates images, if applicable.
#
# The parent directory to search for docker-compose.yml
# files must be specified.  An optional service to update
# may be specified in the second argument. The default is
# to update services matching "*app".
#
# Only services which are currently running will be updated.
# The script will not automatically start stopped services.
#
# examples:
#   /ssdt/apply-updates.sh /data/preview
#   /ssdt/apply-updates.sh /data/preview usps
#

source "${SSDT_SCRIPTS:-$(dirname "${BASH_SOURCE[0]}")}/.functions.sh"

: ${1?"Usage: {parent path} [service]"}
SERVICE=${2:-*app}

ORIGINALDIR=$PWD
PARENTDIR=$1

for f in $(find $PARENTDIR -name docker-compose.yml)
do
   projectdir=`dirname $f`
   project=`basename $projectdir`
   cd $projectdir
   echo -e "----\n$project: checking services"
   while read line
   do
      read  container eol <<< $line
      if [[ $container == *_1 ]]
      then
        t=(${container//_/ })
        service=${t[1]}
        if [[ $service == $SERVICE ]]
        then
           echo -e "\n$project: Updating $service"
           docker-compose up -d $service
        fi
      fi
   done < <(docker-compose ps)

done

cd $ORIGINALDIR