mirror of
https://github.com/taosdata/TDengine
synced 2026-05-24 10:09:01 +00:00
105 lines
2.1 KiB
Bash
Executable file
105 lines
2.1 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
function usage() {
|
|
echo "$0"
|
|
echo -e "\t -w work dir"
|
|
echo -e "\t -d TDinternal code dir"
|
|
echo -e "\t -p old package"
|
|
echo -e "\t -q new package"
|
|
echo -e "\t -c container name"
|
|
echo -e "\t -h help"
|
|
}
|
|
|
|
while getopts "w:p:q:n:c:d:h" opt; do
|
|
case $opt in
|
|
w)
|
|
WORK_DIR=$OPTARG
|
|
;;
|
|
d)
|
|
CODE_DIR=$OPTARG
|
|
;;
|
|
p)
|
|
TAOS_PKG1=$OPTARG
|
|
;;
|
|
q)
|
|
TAOS_PKG2=$OPTARG
|
|
;;
|
|
c)
|
|
CONTAINER_NAME=$OPTARG
|
|
;;
|
|
n)
|
|
NET_NAME=$OPTARG
|
|
;;
|
|
h)
|
|
usage
|
|
exit 0
|
|
;;
|
|
\?)
|
|
echo "Invalid option: -$OPTARG"
|
|
usage
|
|
exit 0
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [ -z "$WORK_DIR" ]; then
|
|
usage
|
|
exit 1
|
|
fi
|
|
if [ -z "$TAOS_PKG1" ]; then
|
|
usage
|
|
exit 1
|
|
fi
|
|
if [ -z "$TAOS_PKG2" ]; then
|
|
usage
|
|
exit 1
|
|
fi
|
|
if [ -z "$CONTAINER_NAME" ]; then
|
|
usage
|
|
exit 1
|
|
fi
|
|
if [ -z "$NET_NAME" ]; then
|
|
usage
|
|
exit 1
|
|
fi
|
|
if [ -z "$CODE_DIR" ]; then
|
|
usage
|
|
exit 1
|
|
fi
|
|
if [ ! -f "$TAOS_PKG1" ]; then
|
|
echo "$TAOS_PKG1 not found"
|
|
exit 1
|
|
fi
|
|
if [ ! -f "$TAOS_PKG2" ]; then
|
|
echo "$TAOS_PKG2 not found"
|
|
exit 1
|
|
fi
|
|
|
|
pkg_name1=`basename $TAOS_PKG1`
|
|
pkg_dir1=`echo "$pkg_name1"|sed "s/-Linux-x64.tar.gz//"`
|
|
pkg_name2=`basename $TAOS_PKG2`
|
|
pkg_dir2=`echo "$pkg_name2"|sed "s/-Linux-x64.tar.gz//"`
|
|
|
|
RET=0
|
|
docker run -d --name $CONTAINER_NAME \
|
|
--hostname $CONTAINER_NAME \
|
|
--net $NET_NAME --ulimit core=-1 -it \
|
|
-v $TAOS_PKG1:/home/tdengine1.tar.gz:ro \
|
|
-v $TAOS_PKG2:/home/tdengine2.tar.gz:ro \
|
|
-v $WORK_DIR/coredump:/home/coredump \
|
|
-v $CODE_DIR:/home/TDinternal \
|
|
taos_test:v1.0 bash
|
|
RET=$?
|
|
if [ $RET -ne 0 ]; then
|
|
echo "docker run failed with $RET"
|
|
exit $RET
|
|
fi
|
|
|
|
docker exec $CONTAINER_NAME sh -c "cd /home;tar xzf tdengine1.tar.gz;tar xzf tdengine2.tar.gz;cd $pkg_dir1;./install.sh -v server -e no"
|
|
RET=$?
|
|
if [ $RET -ne 0 ]; then
|
|
echo "docker exec install.sh failed with $RET"
|
|
exit $RET
|
|
fi
|
|
exit 0
|
|
|