diff --git a/.gitea/workflows/deploy-demo.yaml b/.gitea/workflows/deploy-demo.yaml index a37face..7f57b12 100644 --- a/.gitea/workflows/deploy-demo.yaml +++ b/.gitea/workflows/deploy-demo.yaml @@ -42,13 +42,16 @@ jobs: - name: Step 2 - Deploy Code run: | echo ">>> Syncing code to star-cloud-laravel..." - # --warning=no-file-changed: 抑制 "file changed as we read it" 警告並維持 exit 0 - # 三個容器 (laravel, queue, mqtt-worker) 共享同一份 volume (.:/var/www/html),只需同步一次 - tar --warning=no-file-changed \ - --exclude='.git' --exclude='node_modules' --exclude='vendor' \ + # 1. 打包:|| [ $? -le 1 ] 讓 exit 1 (file changed 警告) 通過,exit 2+ 才視為錯誤 + tar --exclude='.git' --exclude='node_modules' --exclude='vendor' \ --exclude='storage' --exclude='bootstrap/cache' \ - -cf - . | docker exec -i star-cloud-laravel tar -xf - -C /var/www/html/ + -cf /tmp/deploy.tar . || [ $? -le 1 ] + # 2. 解壓至容器 (三個容器共享 volume,同步一次即可) + docker exec -i star-cloud-laravel tar -xf - -C /var/www/html/ < /tmp/deploy.tar + rm -f /tmp/deploy.tar + + # 3. 設定權限 docker exec star-cloud-laravel sh -c " chown -R 1000:1000 /var/www/html && mkdir -p /.npm && chown -R 1000:1000 /.npm &&