Mercurial > public > ssdt-docker
view scripts/updates-apply.sh @ 480:52cf091c3e0e
USASR-5154 ...
author | belknapSSDT <zach.belknap@mcoecn.org> |
---|---|
date | Thu, 28 Sep 2023 16:09:43 -0400 |
parents | 6aecbb32c587 |
children |
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 uspsapp # 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 if [[ $eol =~ "Up" ]] then t=(${container//_/ }) service=${t[1]} if [[ $service == $SERVICE ]] then echo -e "\n$project: Updating $service" docker-compose up -d $service fi fi fi done < <(docker-compose ps) done cd $ORIGINALDIR