Files
oceanbase/tools/docker/standalone/fast_boot_docker_build.sh
2023-11-23 14:08:38 +00:00

65 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
RPM_VERSION=$1
TMP_INIT_STORE_PY_SCRIPT="init_store_for_fast_start.tmp.py"
ACTUAL_INIT_STORE_PY_SCRIPT="./fast_boot_docker_build_prepare/init_store_for_fast_start.py"
CWD=$(cd `dirname $0`;pwd)
cd "${CWD}"
function fast_boot_docker_build() {
cd fast_boot_docker_build_prepare && \
docker build --build-arg VERSION="${RPM_VERSION}" -t raw_observer .
if [ $? == 0 ]; then
echo "================== build prepare docker ok ==============="
else
echo "================== build prepare docker failed ==============="
exit -1
fi
cd "${CWD}" && mkdir -p ${CWD}/boot/etc
docker run -it -v ${CWD}/boot:/root/dest raw_observer
if [ $? == 0 ]; then
echo "================== prepare docker run ok ==============="
else
echo "================== prepare docker run failed ==============="
rm -rf ${CWD}/boot/etc
rm -rf ${CWD}/boot/store.tar.gz
exit -1
fi
cd "${CWD}"
docker build --build-arg VERSION="${RPM_VERSION}" -t oceanbase-ce .
if [ $? == 0 ]; then
echo "================== fast boot docker build ok ==============="
else
echo "================== fast boot docker build failed ==============="
exit -1
fi
}
source ./boot/_env
if [ "x${MODE}" != "xSTANDALONE" ]; then
echo "please set MODE to STANDALONE for building fast boot docker"
exit -1
fi
OS=`uname`
cp ${TMP_INIT_STORE_PY_SCRIPT} ${ACTUAL_INIT_STORE_PY_SCRIPT}
if [ "$OS" == 'Darwin' ]; then
alias sedi="sed -i '' -e"
else
alias sedi="sed -i'' -e"
fi
sedi "s/@OB_MYSQL_PORT@/${OB_MYSQL_PORT}/g" ${ACTUAL_INIT_STORE_PY_SCRIPT}
sedi "s/@OB_RPC_PORT@/${OB_RPC_PORT}/g" ${ACTUAL_INIT_STORE_PY_SCRIPT}
sedi "s/@OB_TENANT_NAME@/${OB_TENANT_NAME}/g" ${ACTUAL_INIT_STORE_PY_SCRIPT}
sedi "s/@OB_TENANT_LOWER_CASE_TABLE_NAMES@/${OB_TENANT_LOWER_CASE_TABLE_NAMES}/g" ${ACTUAL_INIT_STORE_PY_SCRIPT}
fast_boot_docker_build
if [ $? != 0 ]; then
echo "use local rpm build docker failed"
exit -1
fi