diff options
Diffstat (limited to 'examples/docker_build_snac.sh')
| -rwxr-xr-x | examples/docker_build_snac.sh | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/examples/docker_build_snac.sh b/examples/docker_build_snac.sh new file mode 100755 index 0000000..387aa49 --- /dev/null +++ b/examples/docker_build_snac.sh | |||
| @@ -0,0 +1,44 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # | ||
| 3 | # docker_build_snac.sh : build a SNAC container image | ||
| 4 | # and optionally send it to a container registry. | ||
| 5 | # | ||
| 6 | # Set variables e.g. if you want version to be different from 'latest': | ||
| 7 | # img_version=2.82 ./docker_build_snac.sh | ||
| 8 | |||
| 9 | src_dir=${src_dir:-"$HOME/src/snac2"} | ||
| 10 | img_name=${img_name:-'snac'} | ||
| 11 | img_version=${img_version:-'latest'} | ||
| 12 | #registry=${registry:-'codeberg.org'} | ||
| 13 | #reg_user=${reg_user:-'daltux'} | ||
| 14 | |||
| 15 | if [ -z "$tag" ] ; then | ||
| 16 | if [ -n "$reg_user" ] && [ -z "$registry" ] ; then | ||
| 17 | echo "Missing container registry name. Set variable \"registry\"." >&2 | ||
| 18 | exit 10 | ||
| 19 | fi | ||
| 20 | |||
| 21 | if [ -z "$registry" ] ; then | ||
| 22 | tag="$img_name:$img_version" | ||
| 23 | elif [ -z "$reg_user" ] ; then | ||
| 24 | echo "Container registry user unknown. Set variable \"reg_user\"." >&2 | ||
| 25 | exit 20 | ||
| 26 | else | ||
| 27 | tag="$registry/$reg_user/$img_name:$img_version" | ||
| 28 | fi | ||
| 29 | fi | ||
| 30 | |||
| 31 | if [ -d "$src_dir" ] ; then | ||
| 32 | echo "Entering directory \"$src_dir\"..." | ||
| 33 | cd "$src_dir" || exit $? | ||
| 34 | docker build --no-cache -f Dockerfile -t "$tag" . || exit $? | ||
| 35 | else | ||
| 36 | echo "Invalid directory \"$src_dir\"" >&2 | ||
| 37 | exit 30 | ||
| 38 | fi | ||
| 39 | |||
| 40 | if [ -n "$registry" ] ; then | ||
| 41 | #docker login "$registry" || $? | ||
| 42 | docker image push "$tag" | ||
| 43 | fi | ||
| 44 | |||