Files
CamTalk/.gitea/workflows/deploy.yml

45 lines
1.6 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: Deploy
on:
push:
branches: [main, v2]
jobs:
deploy:
runs-on: aliyun
steps:
- name: Deploy
run: |
GIT_URL="http://8.161.227.145:3000/XEngineers/CamTalk.git"
if [ -d /root/camtalk/.git ]; then
cd /root/camtalk
git fetch "$GIT_URL" ${GITHUB_REF_NAME} --depth=1
git reset --hard FETCH_HEAD
else
git clone --depth=1 --branch ${GITHUB_REF_NAME} \
http://8.161.227.145:3000/XEngineers/CamTalk.git /tmp/camtalk-deploy
mkdir -p /root/camtalk
rsync -a --delete \
--exclude='.env' \
--exclude='pgdata' \
--exclude='redisdata' \
/tmp/camtalk-deploy/ /root/camtalk/
rm -rf /tmp/camtalk-deploy
fi
# 始终从宿主机同步最新的 .env通过 docker 桥接,绕过 CI 容器文件系统限制)
docker run --rm \
-v /opt/camtalk/.env:/host.env:ro \
-v /root/camtalk:/deploy \
alpine cp /host.env /deploy/.env 2>/dev/null || true
if [ ! -f /root/camtalk/.env ]; then
echo "=============================================="
echo " 错误: 无法从 /opt/camtalk/.env 同步环境变量"
echo " 请在服务器上执行: cp /opt/camtalk/.env /root/camtalk/.env"
echo "=============================================="
exit 1
fi
chmod +x /root/camtalk/deploy.sh
/root/camtalk/deploy.sh build
/root/camtalk/deploy.sh restart