parent
9e0a609aee
commit
bf1408ca8c
2 changed files with 62 additions and 0 deletions
@ -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…
Reference in new issue