101 lines
2.6 KiB
Bash
Executable File
101 lines
2.6 KiB
Bash
Executable File
#!/bin/bash
|
||
#
|
||
|
||
set -e
|
||
#set -x
|
||
|
||
# dockerbuild.sh
|
||
# -c [aarch32 | aarch64 | amd64 | x86 | mips64 ...]
|
||
# -n [version number]
|
||
# -p [password for docker hub]
|
||
# -V [stable | beta]
|
||
# -f [pkg file]
|
||
|
||
# set parameters by default value
|
||
cpuType=""
|
||
version=""
|
||
passWord=""
|
||
pkgFile=""
|
||
verType="stable"
|
||
|
||
while getopts "hc:n:p:f:V:" arg
|
||
do
|
||
case $arg in
|
||
c)
|
||
#echo "cpuType=$OPTARG"
|
||
cpuType=$(echo $OPTARG)
|
||
;;
|
||
n)
|
||
#echo "version=$OPTARG"
|
||
version=$(echo $OPTARG)
|
||
;;
|
||
p)
|
||
#echo "passWord=$OPTARG"
|
||
passWord=$(echo $OPTARG)
|
||
;;
|
||
f)
|
||
#echo "pkgFile=$OPTARG"
|
||
pkgFile=$(echo $OPTARG)
|
||
;;
|
||
V)
|
||
#echo "verType=$OPTARG"
|
||
verType=$(echo $OPTARG)
|
||
;;
|
||
h)
|
||
echo "Usage: `basename $0` -c [aarch32 | aarch64 | amd64 | x86 | mips64 ...] "
|
||
echo " -n [version number] "
|
||
echo " -p [password for docker hub] "
|
||
echo " -V [stable | beta] "
|
||
echo " -f [pkg file] "
|
||
|
||
exit 0
|
||
;;
|
||
?) #unknow option
|
||
echo "unkonw argument"
|
||
exit 1
|
||
;;
|
||
esac
|
||
done
|
||
|
||
# if [ "$verType" == "beta" ]; then
|
||
# pkgFile=TDengine-server-${version}-Linux-${cpuType}-${verType}.tar.gz
|
||
# elif [ "$verType" == "stable" ]; then
|
||
# pkgFile=TDengine-server-${version}-Linux-${cpuType}.tar.gz
|
||
# else
|
||
# echo "unknow verType, nor stabel or beta"
|
||
# exit 1
|
||
|
||
if [ "$verType" == "beta" ]; then
|
||
dockername=${cpuType}-${verType}
|
||
dirName=${pkgFile%-beta*}
|
||
elif [ "$verType" == "stable" ]; then
|
||
dockername=${cpuType}
|
||
dirName=${pkgFile%-Linux*}
|
||
else
|
||
echo "unknow verType, nor stabel or beta"
|
||
exit 1
|
||
fi
|
||
|
||
|
||
echo "cpuType=${cpuType} version=${version} pkgFile=${pkgFile} verType=${verType} "
|
||
echo "$(pwd)"
|
||
echo "====NOTES: ${pkgFile} must be in the same directory as dockerbuild.sh===="
|
||
|
||
scriptDir=$(dirname $(readlink -f $0))
|
||
comunityArchiveDir=/nas/TDengine/v$version/community # community version’package directory
|
||
cd ${scriptDir}
|
||
cp -f ${comunityArchiveDir}/${pkgFile} .
|
||
|
||
echo "dirName=${dirName}"
|
||
|
||
|
||
docker build --rm -f "Dockerfile" --network=host -t tdengine/tdengine-${dockername}:${version} "." --build-arg pkgFile=${pkgFile} --build-arg dirName=${dirName}
|
||
docker login -u tdengine -p ${passWord} #replace the docker registry username and password
|
||
docker push tdengine/tdengine-${dockername}:${version}
|
||
|
||
# set this version to latest version
|
||
docker tag tdengine/tdengine-${dockername}:${version} tdengine/tdengine-${dockername}:latest
|
||
docker push tdengine/tdengine-${dockername}:latest
|
||
|
||
|
||
rm -f ${pkgFile} |