fix(deploy): 脚本先快照再执行,避免 git reset 改写正在运行的自身
CI / backend (push) Canceled after 0s

This commit is contained in:
2026-10-30 22:25:30 +08:00
parent 2ff1f6e9cd
commit 8b6594bf10
+10
View File
@@ -11,6 +11,16 @@
# 首次部署前准备好 ~/.config/dadaotask/env.production(见 env.production.example)。
set -euo pipefail
# 这个脚本会 git reset 自己所在的仓库:bash 按字节偏移边读边执行,脚本被改写后
# 可能读到新旧混合的内容(实测踩过)——先把自己复制到临时文件再执行。
if [ -z "${DADAO_DEPLOY_SNAPSHOT:-}" ]; then
_snap=$(mktemp /tmp/dadao-deploy.XXXXXX.sh)
cp "$0" "$_snap"
trap 'rm -f "$_snap"' EXIT
DADAO_DEPLOY_SNAPSHOT=1 bash "$_snap" "$@"
exit $?
fi
APP_DIR=${APP_DIR:-/home/openclaw/app/dadaotask}
CONF_DIR=${CONF_DIR:-$HOME/.config/dadaotask}
ENV_FILE=$CONF_DIR/env.production