diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index a10c18a..ff2c732 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -27,13 +27,14 @@ jobs: rm -rf /tmp/camtalk-deploy fi - # 确保 .env 存在于项目目录(CI 容器内无法直接访问 /opt) - if [ ! -f /root/camtalk/.env ]; then - cp /opt/camtalk/.env /root/camtalk/.env 2>/dev/null || true - 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 " 错误: /root/camtalk/.env 不存在" + echo " 错误: 无法从 /opt/camtalk/.env 同步环境变量" echo " 请在服务器上执行: cp /opt/camtalk/.env /root/camtalk/.env" echo "==============================================" exit 1