Files
star-erp/.gitea/workflows/deploy.yaml
sky121113 24c694b201
Some checks failed
Koori-ERP-Demo-Deploy / sync-update (push) Failing after 1s
B2
2026-01-05 14:10:13 +08:00

52 lines
2.0 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: Koori-ERP-Demo-Deploy
on:
push:
branches:
- main
jobs:
sync-update:
runs-on: demo-server
steps:
- name: 1. Checkout New Code
run: |
rm -rf ./*
git clone -b demo http://server:3000/${{ gitea.repository }}.git .
- name: 2. Sync Files to Running Container
run: |
# B. 執行複製
cp .env.example .env
sed -i "s|^APP_KEY=.*|APP_KEY=${{ secrets.APP_KEY }}|g" .env
docker compose up -d --build --force-recreate --wait
# 這一步最關鍵!它把剛抓下來的新 Code 塞進去「正在跑」的容器
# 它不會刪掉你的 .env因為它是用 tar 覆蓋進去
tar -cf - . | docker exec -i koori-erp-laravel.test-1 tar -xf - -C /var/www/html
- name: 3. Refresh Backend (Only if needed)
run: |
# 執行 Composer (確保你有加新套件的話會抓到)
docker exec -w /var/www/html koori-erp-laravel.test-1 composer install --optimize-autoloader
# 同步資料庫欄位 (如果你有改 Migration 的話)
docker exec koori-erp-laravel.test-1 php artisan migrate --force
- name: 4. Build New React Assets
run: |
# 既然你改了前端,就要在容器內重新跑一次打包
docker exec -w /var/www/html koori-erp-laravel.test-1 npm install
docker exec -w /var/www/html koori-erp-laravel.test-1 npm run build
- name: 5. Final Permission Fix
run: |
# 統一修正權限
docker exec koori-erp-laravel.test-1 chown -R 1000:1000 /var/www/html
docker exec koori-erp-laravel.test-1 chmod -R 775 /var/www/html/storage /var/www/html/bootstrap/cache
- name: 6. Clear Old Cache
run: |
# 讓 Laravel 重新讀取最新的路由與設定
docker exec koori-erp-laravel.test-1 php artisan view:clear
docker exec koori-erp-laravel.test-1 php artisan config:clear
docker exec koori-erp-laravel.test-1 php artisan route:clear