update build all

Signed-off-by: Jess Frazelle <me@jessfraz.com>
This commit is contained in:
Jess Frazelle 2016-07-04 09:46:27 -07:00
parent 697ff3e3c9
commit 652c7aa2b1
No known key found for this signature in database
GPG Key ID: 18F3685C0022BFF3

View File

@ -1,25 +1,10 @@
#!/bin/bash #!/bin/bash
set -e set -e
# get the dockerfiles build_and_push(){
IFS=$'\n' base=$1
files=( $(find . -iname '*Dockerfile' | sed 's|./||') ) suite=$2
unset IFS build_dir=$3
# build the changed dockerfiles
for f in "${files[@]}"; do
image=${f%Dockerfile}
base=${image%%\/*}
build_dir=$(dirname $f)
suite=${build_dir##*\/}
if [[ -z "$suite" ]] || [[ "$suite" == "$base" ]]; then
suite=latest
fi
if [[ "${base}" == "sup" ]]; then
continue
fi
( (
set -x set -x
@ -45,4 +30,47 @@ for f in "${files[@]}"; do
docker tag r.j3ss.co/${base}:${suite} r.j3ss.co/${base}:latest docker tag r.j3ss.co/${base}:${suite} r.j3ss.co/${base}:latest
docker push --disable-content-trust=false r.j3ss.co/${base}:latest docker push --disable-content-trust=false r.j3ss.co/${base}:latest
fi fi
done
}
main(){
# get the dockerfiles
IFS=$'\n'
files=( $(find . -iname '*Dockerfile' | sed 's|./||') )
unset IFS
ERRORS=()
# build all dockerfiles
for f in "${files[@]}"; do
image=${f%Dockerfile}
base=${image%%\/*}
build_dir=$(dirname $f)
suite=${build_dir##*\/}
if [[ -z "$suite" ]] || [[ "$suite" == "$base" ]]; then
suite=latest
fi
if [[ "${base}" == "sup" ]]; then
continue
fi
{
build_and_push "${base}" "${suite}" "${build_dir}"
} || {
# add to errors
ERRORS+=("${base}:${suite}")
}
echo
echo
done
if [ ${#ERRORS[@]} -eq 0 ]; then
echo "No errors, hooray"
else
echo "These images failed: ${ERRORS[@]}"
exit 1
fi
}
main $@