This commit is contained in:
@@ -30,12 +30,14 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
HOST: "6.6.6.66"
|
HOST: "6.6.6.66"
|
||||||
USER: "quant-speed"
|
USER: "quant-speed"
|
||||||
PASS: "123quant-speed"
|
SSHPASS: "123quant-speed" # sshpass 使用 SSHPASS 环境变量
|
||||||
# 目标目录
|
# 目标目录
|
||||||
TARGET_DIR: "/home/quant-speed/data/dev/ESP32_GDEY042T81_server"
|
TARGET_DIR: "/home/quant-speed/data/dev/ESP32_GDEY042T81_server"
|
||||||
run: |
|
run: |
|
||||||
# 远程执行部署命令
|
# 远程执行部署命令
|
||||||
sshpass -p "$PASS" ssh -o StrictHostKeyChecking=no $USER@$HOST "bash -s" <<EOF
|
# 使用 -e 从环境变量读取密码,避免特殊字符问题
|
||||||
|
# 添加 -o UserKnownHostsFile=/dev/null 避免 host key 问题
|
||||||
|
sshpass -e ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null $USER@$HOST "bash -s" <<EOF
|
||||||
# 确保目标目录存在
|
# 确保目标目录存在
|
||||||
mkdir -p $TARGET_DIR
|
mkdir -p $TARGET_DIR
|
||||||
cd $TARGET_DIR
|
cd $TARGET_DIR
|
||||||
@@ -59,13 +61,13 @@ jobs:
|
|||||||
# 使用 git diff 检查此次 pull 更新的文件列表
|
# 使用 git diff 检查此次 pull 更新的文件列表
|
||||||
if git diff --name-only \$OLD_HEAD \$NEW_HEAD | grep -E 'Dockerfile|requirements.txt'; then
|
if git diff --name-only \$OLD_HEAD \$NEW_HEAD | grep -E 'Dockerfile|requirements.txt'; then
|
||||||
echo "检测到构建文件变动,开始重新构建镜像..."
|
echo "检测到构建文件变动,开始重新构建镜像..."
|
||||||
echo "$PASS" | sudo -S docker compose down --rmi local
|
echo "$SSHPASS" | sudo -S docker compose down --rmi local
|
||||||
# 确保清理干净
|
# 确保清理干净
|
||||||
echo "$PASS" | sudo -S docker rmi epaper_server:latest || true
|
echo "$SSHPASS" | sudo -S docker rmi epaper_server:latest || true
|
||||||
echo "$PASS" | sudo -S docker compose up -d --build
|
echo "$SSHPASS" | sudo -S docker compose up -d --build
|
||||||
else
|
else
|
||||||
echo "仅代码变动,无需重新构建镜像,重启容器..."
|
echo "仅代码变动,无需重新构建镜像,重启容器..."
|
||||||
echo "$PASS" | sudo -S docker compose down
|
echo "$SSHPASS" | sudo -S docker compose down
|
||||||
echo "$PASS" | sudo -S docker compose up -d
|
echo "$SSHPASS" | sudo -S docker compose up -d
|
||||||
fi
|
fi
|
||||||
EOF
|
EOF
|
||||||
|
|||||||
Reference in New Issue
Block a user