name: Laravel-Oracle-Deploy on: push: branches: - main jobs: redeploy: runs-on: ubuntu-latest steps: - name: Checkout Code uses: actions/checkout@v3 - name: Create .env file run: echo "${{ secrets.ENV_FILE }}" > .env - name: Main Deploy Backend Container run: | # 0. 📦 重新打包最新程式碼 (這是你原本漏掉的靈魂步驟!) # 確保這裡的執行路徑有你的 Dockerfile docker build -t finance_app-finance-backend:latest . # 1. 🗑️ 刪除舊容器 docker rm -f finance-laravel-backend || true # 2. 🚀 啟動最乾淨的新容器 docker run -d \ --name finance-laravel-backend \ --network 1panel-network \ -p 8081:8000 \ finance_app-finance-backend:latest # 3. 🎯 終極一指通:寫入環境變數 docker exec -i finance-laravel-backend sh -c "cat > .env" << 'EOF' ${{ secrets.ENV_FILE }} EOF # 4. 🧹 刷新 Laravel 快取 docker exec -i finance-laravel-backend php artisan optimize:clear