From 5df11e5b008dd3138d1b62b3b0ecb3268f5f5d0b Mon Sep 17 00:00:00 2001 From: xujiang Date: Wed, 9 Jul 2025 09:44:33 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20CI/CD=20=E9=83=A8?= =?UTF-8?q?=E7=BD=B2=E4=B8=AD=E7=9A=84=E6=9D=83=E9=99=90=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 使用 sudo 创建部署目录并设置正确的所有者权限 - 在 rsync 前确保目录归用户所有 - 添加最终权限设置确保文件可访问 - 修复了 "Permission denied" 错误 现在部署过程会: 1. 用 sudo 创建目录 2. 设置目录所有者为部署用户 3. 执行 rsync 上传文件 4. 最终设置正确的文件权限 --- .gitea/workflows/deploy-frontend.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/deploy-frontend.yml b/.gitea/workflows/deploy-frontend.yml index e26f6b7..7a2159f 100644 --- a/.gitea/workflows/deploy-frontend.yml +++ b/.gitea/workflows/deploy-frontend.yml @@ -51,14 +51,14 @@ jobs: # 测试 SSH 连接 sshpass -e ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 ${{ secrets.ALIYUN_USER_NAME }}@${{ secrets.ALIYUN_IP }} "echo 'SSH 连接成功'" - # 在服务器上创建部署目录 (如果不存在) - sshpass -e ssh -o StrictHostKeyChecking=no ${{ secrets.ALIYUN_USER_NAME }}@${{ secrets.ALIYUN_IP }} "mkdir -p /data/photography" + # 在服务器上创建部署目录并设置权限 + sshpass -e ssh -o StrictHostKeyChecking=no ${{ secrets.ALIYUN_USER_NAME }}@${{ secrets.ALIYUN_IP }} "sudo mkdir -p /data/photography && sudo chown -R ${{ secrets.ALIYUN_USER_NAME }}:${{ secrets.ALIYUN_USER_NAME }} /data/photography && sudo chmod -R 755 /data/photography" # 上传构建文件到服务器(使用密码认证) sshpass -e rsync -avz --delete --progress -e "ssh -o StrictHostKeyChecking=no" frontend/out/ ${{ secrets.ALIYUN_USER_NAME }}@${{ secrets.ALIYUN_IP }}:/data/photography/ - # 设置文件权限 - sshpass -e ssh -o StrictHostKeyChecking=no ${{ secrets.ALIYUN_USER_NAME }}@${{ secrets.ALIYUN_IP }} "chmod -R 755 /data/photography" + # 设置最终文件权限 + sshpass -e ssh -o StrictHostKeyChecking=no ${{ secrets.ALIYUN_USER_NAME }}@${{ secrets.ALIYUN_IP }} "sudo chmod -R 755 /data/photography" # 重新加载 Caddy 配置 (可选,根据你的服务器配置) sshpass -e ssh -o StrictHostKeyChecking=no ${{ secrets.ALIYUN_USER_NAME }}@${{ secrets.ALIYUN_IP }} "sudo systemctl reload caddy || echo 'Caddy 重启跳过'"