homework-jianmu/packaging/docker/release_docker.sh

88 lines
2.6 KiB
Bash
Executable File

#!/bin/bash
# **************************************************************
# Script to release TAOS install package.
# **************************************************************
set -e
currDir=$(pwd)
codeDir=$(readlink -m ${currDir}/../..)
rootDir=$(readlink -m ${codeDir}/..)
buildDir=$(readlink -m ${rootDir}/build)
releaseDir=$(readlink -m ${rootDir}/release)
# # --------------------Get version information
versionInfo="${codeDir}/util/src/version.c"
version=$(cat ${versionInfo} | grep version | cut -d '"' -f2)
if [ "$1" != "test" ]; then
while true; do
read -p "Do you want to release a new version? [y/N]: " isVersionChange
if [[ ( "${isVersionChange}" == "y") || ( "${isVersionChange}" == "Y") ]]; then
# TODO: Add version format check here.
read -p "Please enter the new version: " version
break
elif [[ ( "${isVersionChange}" == "n") || ( "${isVersionChange}" == "N") ]]; then
echo "Use old version ${version}"
break
else
continue
fi
done
fi
buildTime=$(date +"%F %R")
echo "char version[64] = \"${version}\";" > ${versionInfo}
echo "char buildinfo[512] = \"Built by ${USER} at ${buildTime}\";" >> ${versionInfo}
# --------------------------Make executable file.
cd ${codeDir}
make clean
make
cd ${currDir}
# --------------------------Group files
# create compressed install file.
installDir="tdengine-docker-${version}-$(echo ${buildTime}| tr ': ' -)-${USER}"
# directories and files.
binDir="bin"
libDir="lib"
headerDir="inc"
cfgDir="cfg"
binFiles="${buildDir}/bin/tdengine ${buildDir}/bin/tdengined ${currDir}/remove.sh"
libFiles="${buildDir}/lib/libtaos.so ${buildDir}/lib/libtaos.a"
headerFiles="${codeDir}/inc/taos.h"
cfgFiles="${codeDir}/cfg/*"
dockerFiles="${currDir}/Dockerfile.tdengined ${currDir}/Dockerfile.tdengine"
installFiles="${currDir}/install.sh"
# make directories.
mkdir -p ${installDir}
mkdir -p ${installDir}/${binDir} && cp ${binFiles} ${installDir}/${binDir}
mkdir -p ${installDir}/${libDir} && cp ${libFiles} ${installDir}/${libDir}
mkdir -p ${installDir}/${headerDir} && cp ${headerFiles} ${installDir}/${headerDir}
mkdir -p ${installDir}/${cfgDir} && cp ${cfgFiles} ${installDir}/${cfgDir}
cp ${dockerFiles} ${installDir}
cp ${rootDir}/build/lib/JDBCDriver*-dist.* ${installDir} 2> /dev/null || :
cd ${installDir}
tar -zcf tdengine.tar.gz * --remove-files
cd ${currDir}
cp ${installFiles} ${installDir}
# Copy example code
cp -r ${codeDir}/examples ${installDir}
tar -zcf "${installDir}.tar.gz" ${installDir} --remove-files
mkdir -p ${releaseDir}
mv "${installDir}.tar.gz" ${releaseDir}