77 lines
2.0 KiB
Bash
Executable File
77 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
get_project_version() {
|
|
Project=${1}
|
|
Version=${2}
|
|
|
|
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 "Getting Version \"${Version}\"..."
|
|
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..."
|
|
return 0
|
|
else
|
|
return 1
|
|
fi
|
|
else
|
|
echo "Not Found ${rel_dir}/${Project}/${Version} on ${user}@${host}"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
build_docker_image() {
|
|
ImageName=${1}
|
|
RegistryService=${2}
|
|
Version=${3}
|
|
Project=${4}
|
|
ProjectVersion=${5}
|
|
|
|
Cmd="docker build"
|
|
if [ "${ProjectVersion}" != "" ]; then
|
|
Cmd+=" --label ${Project}=\"${ProjectVersion}\""
|
|
fi
|
|
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
|
|
}
|
|
|
|
|