92 lines
2.1 KiB
Bash
Executable File
92 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
function usage {
|
|
echo "Usage: ${0} <version>"
|
|
exit
|
|
}
|
|
|
|
CvttpyVersion=${1}
|
|
|
|
if [ "${CvttpyVersion}" == "" ]
|
|
then
|
|
usage
|
|
fi
|
|
|
|
# --- Settings
|
|
ImageName=md_gateway
|
|
RegistryService=cloud21.cvtt.vpn:5500
|
|
# --- Settings
|
|
|
|
get_cvttpy() {
|
|
Version=${1}
|
|
Project=cvttpy
|
|
|
|
host="cloud21.cvtt.vpn"
|
|
port="22"
|
|
user="cvttdist"
|
|
rel_dir="/home/cvttdist/software/cvtt2"
|
|
if [ "${Version}" == "latest" ]; then
|
|
echo "Checking for latest version of ${Project} on ${user}@${host}:${rel_dir}"
|
|
Version=$(ssh -q -p ${port} ${user}@${host} "ls -tr ${rel_dir}/${Project} | tail -1" )
|
|
echo "Latest version is ${Version}"
|
|
fi
|
|
echo "Checking ${user}@${host} for ${rel_dir}/${Project}/${Version} ..."
|
|
if ssh -q -p ${port} ${user}@${host} "test -d ${rel_dir}/${Project}/${Version}"
|
|
then
|
|
echo "Version ${Version} found..."
|
|
rsync_cmd="rsync -ahv -e \"ssh -p ${port}\""
|
|
rsync_cmd="${rsync_cmd} ${user}@${host}:${rel_dir}/${Project}/${Version}/"
|
|
rsync_cmd="${rsync_cmd} ./"
|
|
echo ${rsync_cmd}
|
|
eval ${rsync_cmd}
|
|
status=$?
|
|
if [ ${status} -eq 0 ]
|
|
then
|
|
echo "Loading successful..."
|
|
exit 1
|
|
fi
|
|
else
|
|
echo "Not Found ${rel_dir}/${Project}/${Version} on ${user}@${host}"
|
|
fi
|
|
}
|
|
|
|
DockerDir=$(realpath $(dirname ${0}))
|
|
Version=${CvttpyVersion}
|
|
|
|
cd ${DockerDir}
|
|
|
|
get_cvttpy ${Version}
|
|
|
|
function cleanup {
|
|
cd ${DockerDir}
|
|
rm -rf cvttpy
|
|
}
|
|
trap cleanup EXIT
|
|
|
|
Cmd="docker build"
|
|
Cmd+=" -t ${ImageName}"
|
|
Cmd+=" -t ${ImageName}:latest"
|
|
Cmd+=" -t ${ImageName}:${Version}"
|
|
Cmd+=" -f Dockerfile"
|
|
Cmd+=" ."
|
|
echo ${Cmd}
|
|
eval ${Cmd} || exit
|
|
|
|
Cmd="docker tag ${ImageName}:latest ${RegistryService}/${ImageName}:latest"
|
|
echo ${Cmd}
|
|
eval ${Cmd} || exit
|
|
|
|
Cmd="docker tag ${ImageName}:${Version} ${RegistryService}/${ImageName}:${Version}"
|
|
echo ${Cmd}
|
|
eval ${Cmd} || exit
|
|
|
|
Cmd="docker push ${RegistryService}/${ImageName}:latest"
|
|
echo ${Cmd}
|
|
eval ${Cmd} || exit
|
|
|
|
Cmd="docker push ${RegistryService}/${ImageName}:${Version}"
|
|
echo ${Cmd}
|
|
eval ${Cmd} || exit
|
|
|
|
|