Publish apes-Authon-Web via gitea-publish skill
This commit is contained in:
+56
@@ -0,0 +1,56 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
export NODE_HOME=/data/tools/node-16
|
||||
export PATH=$NODE_HOME/bin:$PATH
|
||||
|
||||
cd /data/saas-web || exit
|
||||
|
||||
# ========== 更新最新代码(先检查冲突,无冲突才更新) ==========
|
||||
echo "检查最新代码更新..."
|
||||
BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
||||
if ! git fetch origin "$BRANCH"; then
|
||||
echo "拉取远程分支失败,终止部署"
|
||||
exit 1
|
||||
fi
|
||||
LOCAL_HEAD=$(git rev-parse HEAD)
|
||||
REMOTE_HEAD=$(git rev-parse "origin/$BRANCH")
|
||||
if [ "$LOCAL_HEAD" = "$REMOTE_HEAD" ]; then
|
||||
echo "本地代码已是最新,无需更新"
|
||||
else
|
||||
echo "本地与远程不一致,先进行冲突检测..."
|
||||
if git merge --no-commit --no-ff "origin/$BRANCH" > /tmp/git_merge_check.log 2>&1; then
|
||||
git merge --abort >/dev/null 2>&1 || true
|
||||
echo "无冲突,开始更新代码..."
|
||||
if ! git pull origin "$BRANCH"; then
|
||||
echo "代码更新失败,终止部署"
|
||||
exit 1
|
||||
fi
|
||||
echo "代码更新完成"
|
||||
else
|
||||
echo "!!! 检测到冲突(或本地未提交修改阻止更新),详情:"
|
||||
cat /tmp/git_merge_check.log
|
||||
CONFLICT_FILES=$(git diff --name-only --diff-filter=U 2>/dev/null)
|
||||
if [ -n "$CONFLICT_FILES" ]; then
|
||||
echo "冲突文件列表:"
|
||||
echo "$CONFLICT_FILES"
|
||||
fi
|
||||
git merge --abort >/dev/null 2>&1 || true
|
||||
echo "存在冲突,终止更新并退出部署"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo '开始安装依赖'
|
||||
/data/tools/node-16/bin/npm --registry=http://registry.npmmirror.com install
|
||||
echo '开始构建'
|
||||
/data/tools/node-16/bin/npm --registry=http://registry.npmmirror.com run build:prod
|
||||
zip -r saas-web.zip saas-web
|
||||
echo '开始传输..'
|
||||
scp -P 22 -o "ProxyCommand ssh -W %h:%p root@47.115.213.168" saas-web.zip root@192.168.1.158:/data/services/saas-web.zip
|
||||
echo "开始替换..."
|
||||
ssh -p 22 -o "ProxyCommand ssh -W %h:%p root@47.115.213.168" root@192.168.1.158 "cd /data/services; unzip -o saas-web.zip"
|
||||
echo "上线成功...."
|
||||
rm -rf saas-web
|
||||
rm -rf saas-web.zip
|
||||
echo "上线完毕...."
|
||||
Reference in New Issue
Block a user