name: Oracle-Deploy on: push: branches: - main jobs: redeploy: runs-on: self-hosted # 不使用 steps 的 uses,全部改用 run steps: - name: Deploy run: | # 1. 由於 Runner 容器裡沒有 sudo,我們假設它有權限訪問掛載的路徑 # 我們直接嘗試在「主機」路徑執行指令 echo "Starting Direct Host Deployment..." # 2. 這是最關鍵的一步: # 如果你的 Runner 是 1Panel 裝的,它通常會把主機的目錄掛載進來 # 我們直接對準主機上的 linebot_finance 資料夾操作 # 3. 執行同步與部署 # 我們假設路徑已經在之前的步驟設定好 safe.directory 了 cd /home/ubuntu/apps/linebot_finance || exit 1 # 使用絕對路徑執行 git,避免 PATH 問題 /usr/bin/git fetch --all /usr/bin/git reset --hard origin/main # 4. 重啟 Docker /usr/bin/docker compose up -d --build echo "Deployment finished!"