initial commit
This commit is contained in:
112
deploy/deploy.sh
Normal file
112
deploy/deploy.sh
Normal file
@@ -0,0 +1,112 @@
|
||||
#!/usr/bin/env bash
|
||||
TARBALL_PATH=$PWD
|
||||
NIC=$(route -n | awk '{print $1,$8}' | grep "0.0.0.0" | awk '{print $2}')
|
||||
LOCAL_IP=$(ifconfig $NIC | grep inet | grep -v 127.0.0.1 | grep -v inet6 | awk '{print $2}' | tr -d "addr:")
|
||||
WORK_DIR=/opt/factory-digital-app
|
||||
CONFIG_DIR=/opt/config/factory-digital-app
|
||||
LOG_DIR=$(pwd)/deploy_logs/
|
||||
LOG_FILE="${LOG_DIR}/demo_$(date '+%Y%m%d').log"
|
||||
if [[ ! -d "${LOG_DIR}" ]]; then
|
||||
mkdir -p "${LOG_DIR}"
|
||||
touch "$LOG_FILE"
|
||||
fi
|
||||
# 定义颜色
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[0;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
function info() {
|
||||
local MSG=$1
|
||||
local COLOR=${2:-$NC} # 默认不使用颜色
|
||||
local DATE=$(date '+%Y-%m-%d %H:%M:%S')
|
||||
# 打印到终端,使用指定的颜色
|
||||
echo -e "${COLOR}[${DATE}] ${MSG}${NC}"
|
||||
# 追加到日志文件,无颜色
|
||||
echo "[${DATE}] ${MSG}" >>"${LOG_FILE}"
|
||||
}
|
||||
|
||||
function prepare() {
|
||||
|
||||
info "[Preparing deploy ..............]" $YELLOW
|
||||
# 检查部署目录是否存在
|
||||
if [[ ! -d $WORK_DIR ]]; then
|
||||
mkdir -p $WORK_DIR
|
||||
else
|
||||
info "[$WORK_DIR] folder has existed! prepare check fail!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -d $CONFIG_DIR ]]; then
|
||||
mkdir -p $CONFIG_DIR
|
||||
fi
|
||||
|
||||
docker_process=$(docker ps | grep factory-digital-app| wc -l)
|
||||
if [[ $docker_process -gt 0 ]]; then
|
||||
info "factory-digital-appprocess has existed; prepare check fail!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
dos2unix $TARBALL_PATH/*
|
||||
cp $TARBALL_PATH/docker-compose.yml $WORK_DIR/
|
||||
cp $TARBALL_PATH/.env $WORK_DIR/
|
||||
cp $TARBALL_PATH/*.env $CONFIG_DIR/
|
||||
if [[ $LOCAL_IP == "172.16.0.9" || $LOCAL_IP == "172.16.0.8" ]]; then
|
||||
echo "[双机环境]"
|
||||
echo -e "\nKAFKACLOUD_URL=172.16.0.8:9092,172.16.0.9:9092\nMYSQL_URL=172.16.0.4\nREDIS_URL=172.16.0.7" >> $CONFIG_DIR/variables.env
|
||||
else
|
||||
echo "[单机环境]"
|
||||
echo -e "\nKAFKACLOUD_URL=172.16.0.3:9092nMYSQL_URL=172.16.0.3\nREDIS_URL=172.16.0.3" >> $CONFIG_DIR/variables.env
|
||||
sed -i 's/172.16.0.3/'$LOCAL_IP'/g' $CONFIG_DIR/variables.env
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
function deploy() {
|
||||
info "[Deploying factory-digital-app ..............]" $YELLOW
|
||||
cd $WORK_DIR && docker-compose up -d
|
||||
|
||||
}
|
||||
|
||||
function post_handle() {
|
||||
info "[post handle factory-digital-app ..............]" $YELLOW
|
||||
}
|
||||
function uninstall() {
|
||||
docker-compose down
|
||||
rm -rf $WORK_DIR
|
||||
rm -rf $CONFIG_DIR
|
||||
}
|
||||
function main() {
|
||||
case $1 in
|
||||
prepare)
|
||||
prepare
|
||||
;;
|
||||
deploy)
|
||||
deploy
|
||||
;;
|
||||
postHandle)
|
||||
post_handle
|
||||
;;
|
||||
all)
|
||||
prepare
|
||||
deploy
|
||||
post_handle
|
||||
;;
|
||||
local)
|
||||
docker login -u cn-south-2@TQ0BQOAML1V5Y5HZ9ISP -p c6ec8441a31e8779899f060ee4a9146969b81f439ef5664cd2f5b3bd81cba962 swr.cn-south-2.myhuaweicloud.com
|
||||
export IMAGE_URL=swr.cn-south-2.myhuaweicloud.com/yelink_appstore_test/
|
||||
prepare
|
||||
deploy
|
||||
post_handle
|
||||
;;
|
||||
uninstall)
|
||||
uninstall
|
||||
;;
|
||||
*)
|
||||
fatal "Unsupported params"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
main $@
|
||||
Reference in New Issue
Block a user