aded scripts

master
Marc Wäckerlin 7 years ago
parent 9e0a609aee
commit bf1408ca8c
  1. 14
      deploy.sh
  2. 48
      update.sh

@ -0,0 +1,14 @@
#!/bin/bash -e
for f in $*; do
f=${f%.yaml}
if ! test -e ${f}.yaml; then
echo "ERROR: no file ${f}.yaml" 1>&2
exit 1
fi
echo "... deploying $f"
for d in $(sed -n 's/^ *source: *//p' ${f}.yaml); do
test -e $d || mkdir -p $d
done
docker stack deploy --compose-file ${f}.yaml ${f}
done

@ -0,0 +1,48 @@
#!/bin/bash
limit=''
while test $# -gt 0; do
case "$1" in
(-h|--help) cat <<EOF
$0 [OPTIONS] NAMES…
OPTIONS
-h, --help show this help
-s, --limit service limit update to given service
NAMES…
list of stack names to update
DESCRIPTION
updates the docker images of all services in the given stacks
EOF
exit;;
(-l|--limit) shift; limit=$1;;
(*) break;;
esac
if test $# -lt 1; then
echo "error: missing argument, try $0 --help" 1>&2
exit 1
fi
shift
done
for f in $*; do
name=${f%.yaml}
file=${name}.yaml
echo "upgrading ${name}"
IFS="
"
for param in $(sed -n '/^ *\([^:]\+\): *$/{s//'"${name}"'_\1/;h};/^ *image: */{s///;G;s/\n/ /p}' $file); do
IFS=" "
if [ -z "$limit" ] || [[ "${param}" =~ " ${name}_${limit}" ]]; then
echo "....update $param: docker service update -d --image $param"
docker service update -d --image $param
fi
done
done
Loading…
Cancel
Save