feat: 新增部署維護模式步驟,減少 500 錯誤發生
This commit is contained in:
@@ -34,6 +34,20 @@ jobs:
|
|||||||
./ amba@192.168.0.103:/home/amba/koori-erp/
|
./ amba@192.168.0.103:/home/amba/koori-erp/
|
||||||
rm ~/.ssh/id_rsa_demo
|
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 最容易發生在這裡的瞬間)
|
# 2. 啟動或重建容器(502 最容易發生在這裡的瞬間)
|
||||||
- name: Step 2 - Container Up & Health Check
|
- name: Step 2 - Container Up & Health Check
|
||||||
uses: appleboy/ssh-action@master
|
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
|
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) ---
|
# --- 2. 正式環境部署 (erp.koori.tw:2224) ---
|
||||||
deploy-production:
|
deploy-production:
|
||||||
if: github.ref == 'refs/heads/main'
|
if: github.ref == 'refs/heads/main'
|
||||||
@@ -93,6 +118,20 @@ jobs:
|
|||||||
./ root@erp.koori.tw:/var/www/koori-erp-prod/
|
./ root@erp.koori.tw:/var/www/koori-erp-prod/
|
||||||
rm ~/.ssh/id_rsa_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 最容易發生在這裡的瞬間)
|
# 2. 啟動或重建容器(502 最容易發生在這裡的瞬間)
|
||||||
- name: Step 2 - Container Up & Health Check
|
- name: Step 2 - Container Up & Health Check
|
||||||
uses: appleboy/ssh-action@master
|
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
|
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)
|
# 3. 處理後端與前端依賴(這時網站可能因為沒 vendor 呈現 500/502)
|
||||||
# - name: Step 3 - Composer & NPM Build
|
# - name: Step 3 - Composer & NPM Build
|
||||||
|
|||||||
Reference in New Issue
Block a user