name: Oracle-Deploy on: push: branches: - main jobs: redeploy: runs-on: self-hosted # 請確認 Gitea Runner 標籤包含 self-hosted steps: - name: Checkout Code # 如果是第一次運行,這步會自動處理目錄 run: | mkdir -p /home/ubuntu/apps/linebot_finance cd /home/ubuntu/apps/linebot_finance - name: Create .env file from Secrets run: | # 這裡使用單引號包裹變數,防止特殊字元導致語法出錯 echo '${{ secrets.ENV_FILE }}' > /home/ubuntu/apps/linebot_finance/.env chmod 600 /home/ubuntu/apps/linebot_finance/.env echo ".env 檔案已由 Secrets 產生 🚀" - name: Pull and Restart Service run: | cd /home/ubuntu/apps/linebot_finance # 如果目錄還沒初始化過 Git,先進行初始化 if [ ! -d ".git" ]; then git clone http://127.0.0.1:3000/henry4682/linebot_finance.git . fi git fetch origin main git reset --hard origin/main # 啟動 Line Bot docker compose up -d --build --remove-orphans docker image prune -f