From 7c1ee408821fd6cf3ae5ece2be94c6580e776c5b Mon Sep 17 00:00:00 2001 From: sky121113 Date: Mon, 12 Jan 2026 10:15:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E9=83=A8=E7=BD=B2?= =?UTF-8?q?=E7=B6=AD=E8=AD=B7=E6=A8=A1=E5=BC=8F=E6=AD=A5=E9=A9=9F=EF=BC=8C?= =?UTF-8?q?=E6=B8=9B=E5=B0=91=20500=20=E9=8C=AF=E8=AA=A4=E7=99=BC=E7=94=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/deploy.yaml | 50 ++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index 0db8ea9..23610a6 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -34,6 +34,20 @@ jobs: ./ amba@192.168.0.103:/home/amba/koori-erp/ rm ~/.ssh/id_rsa_demo + # 1.5 啟用維護模式(讓使用者看到維護畫面而非 500) + - name: Step 1.5 - Enable Maintenance Mode + uses: appleboy/ssh-action@master + with: + host: 192.168.0.103 + port: 22 + username: amba + key: ${{ secrets.DEMO_SSH_KEY }} + script: | + cd /home/amba/koori-erp + if [ -f artisan ]; then + docker exec koori-erp-laravel php artisan down --refresh=15 --retry=60 || true + fi + # 2. 啟動或重建容器(502 最容易發生在這裡的瞬間) - name: Step 2 - Container Up & Health Check uses: appleboy/ssh-action@master @@ -67,6 +81,17 @@ jobs: " docker exec koori-erp-laravel chmod -R 775 /var/www/html/storage /var/www/html/bootstrap/cache + # 4. 關閉維護模式(部署完成,恢復服務) + - name: Step 4 - Disable Maintenance Mode + uses: appleboy/ssh-action@master + with: + host: 192.168.0.103 + port: 22 + username: amba + key: ${{ secrets.DEMO_SSH_KEY }} + script: | + docker exec koori-erp-laravel php artisan up + # --- 2. 正式環境部署 (erp.koori.tw:2224) --- deploy-production: if: github.ref == 'refs/heads/main' @@ -93,6 +118,20 @@ jobs: ./ root@erp.koori.tw:/var/www/koori-erp-prod/ rm ~/.ssh/id_rsa_prod + # 1.5 啟用維護模式(讓使用者看到維護畫面而非 500) + - name: Step 1.5 - Enable Maintenance Mode + uses: appleboy/ssh-action@master + with: + host: erp.koori.tw + port: 2224 + username: root + key: ${{ secrets.PROD_SSH_KEY }} + script: | + cd /var/www/koori-erp-prod + if [ -f artisan ]; then + docker exec koori-erp-laravel php artisan down --refresh=15 --retry=60 || true + fi + # 2. 啟動或重建容器(502 最容易發生在這裡的瞬間) - name: Step 2 - Container Up & Health Check uses: appleboy/ssh-action@master @@ -119,6 +158,17 @@ jobs: " docker exec koori-erp-laravel chmod -R 775 /var/www/html/storage /var/www/html/bootstrap/cache + # 3. 關閉維護模式(部署完成,恢復服務) + - name: Step 3 - Disable Maintenance Mode + uses: appleboy/ssh-action@master + with: + host: erp.koori.tw + port: 2224 + username: root + key: ${{ secrets.PROD_SSH_KEY }} + script: | + docker exec koori-erp-laravel php artisan up + # 3. 處理後端與前端依賴(這時網站可能因為沒 vendor 呈現 500/502) # - name: Step 3 - Composer & NPM Build