98 lines
1.9 KiB
Bash
Executable File
98 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# --- Settings
|
|
RegistryService=cloud21.cvtt.vpn:5500
|
|
ValidImages=(md_gateway oe_gateway ac_gateway pricer coordinator)
|
|
# --- Settings
|
|
|
|
usage() {
|
|
echo "Usage: $0 -I <image_name> -V <image_version> -L <library>:<library_version>"
|
|
exit 1
|
|
}
|
|
|
|
|
|
# ---------------- cmdline
|
|
while getopts "I:V:L:" opt; do
|
|
case ${opt} in
|
|
I )
|
|
ImageName=$OPTARG
|
|
;;
|
|
V )
|
|
ImageVersion=$OPTARG
|
|
;;
|
|
L )
|
|
Library=$OPTARG
|
|
;;
|
|
\? )
|
|
echo "Invalid option: -$OPTARG" >&2
|
|
usage
|
|
;;
|
|
: )
|
|
echo "Option -$OPTARG requires an argument." >&2
|
|
usage
|
|
;;
|
|
esac
|
|
done
|
|
# ---------------- cmdline
|
|
|
|
if [ "${ImageName}" == "" ]
|
|
then
|
|
usage
|
|
fi
|
|
|
|
if [ "${ImageVersion}" == "" ]
|
|
then
|
|
usage
|
|
fi
|
|
|
|
Project=
|
|
ProjectVersion=
|
|
if [ "${Library}" != "" ] ; then
|
|
IFS=':' read -ra parts <<< "${Library}"
|
|
Project=${parts[0]}
|
|
ProjectVersion=${parts[1]}
|
|
fi
|
|
# exit
|
|
|
|
build_musvc_image() {
|
|
ImageName=${1}
|
|
Project=${2}
|
|
ProjectVersion=${3}
|
|
|
|
DockerDir=$(realpath $(dirname ${0})/${ImageName})
|
|
cd ${DockerDir}
|
|
|
|
if [ "${Project}" != "" ]; then
|
|
get_project_version ${Project} ${ProjectVersion}
|
|
fi
|
|
|
|
function cleanup {
|
|
cd ${DockerDir}
|
|
rm -rf cvttpy
|
|
}
|
|
trap cleanup RETURN
|
|
|
|
build_docker_image ${ImageName} ${RegistryService} ${ImageVersion} ${Project} ${ProjectVersion}
|
|
}
|
|
|
|
|
|
source $(realpath $(dirname ${0}))/mu_svc_functions.sh # ASSUMED same directory
|
|
if [ "${ImageName}" == "__ALL__" ]; then
|
|
Images=(${ValidImages[@]})
|
|
else
|
|
if [[ " ${ValidImages[*]} " == *" ${ImageName}"* ]]; then
|
|
Images=(${ImageName})
|
|
else
|
|
echo "ERROR: invalid image name \"${ImageName}\""
|
|
exit 1
|
|
fi
|
|
fi
|
|
for ImageName in "${Images[@]}"; do
|
|
build_musvc_image ${ImageName} ${Project} ${ProjectVersion}
|
|
done
|
|
|
|
# echo "**** D E B U G E X I T" && exit
|
|
echo "***** ${0} D O N E"
|
|
|
|
|