2.83 v/snac0 / examples / docker_build_snac.sh
 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
 9src_dir=${src_dir:-"$HOME/src/snac2"}
10img_name=${img_name:-'snac'}
11img_version=${img_version:-'latest'}
12#registry=${registry:-'codeberg.org'}
13#reg_user=${reg_user:-'daltux'}
14
15if [ -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
29fi
30
31if [ -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 $?
35else
36	echo "Invalid directory \"$src_dir\"" >&2
37	exit 30
38fi
39
40if [ -n "$registry" ] ; then
41	#docker login "$registry" || $?
42	docker image push "$tag"
43fi
44