mirror of
https://github.com/henry4682/linebot_finance.git
synced 2026-05-16 04:41:52 +00:00
43 lines
1.5 KiB
YAML
43 lines
1.5 KiB
YAML
name: Oracle-Deploy
|
||
on:
|
||
push:
|
||
branches:
|
||
- main
|
||
|
||
jobs:
|
||
redeploy:
|
||
runs-on: self-hosted # 你的 Runner 已經有這個標籤了,沒問題
|
||
|
||
steps:
|
||
- name: Preparation and Git Sync
|
||
run: |
|
||
# 建立目錄並進入
|
||
mkdir -p /home/ubuntu/apps/linebot_finance
|
||
cd /home/ubuntu/apps/linebot_finance
|
||
|
||
# 檢查是否已經有 .git,沒有就 clone,有就 reset
|
||
if [ ! -d ".git" ]; then
|
||
echo "🚚 正在初始化儲存庫..."
|
||
# 使用 http://localhost:3000 是因為你的 Runner 跟 Gitea 在同一台主機且用了 network host
|
||
git clone http://localhost:3000/henry4682/linebot_finance.git .
|
||
else
|
||
echo "🔄 正在更新現有儲存庫..."
|
||
git fetch origin main
|
||
git reset --hard origin/main
|
||
fi
|
||
|
||
- 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: Docker Build and Deploy
|
||
run: |
|
||
cd /home/ubuntu/apps/linebot_finance
|
||
# 執行 Docker Compose
|
||
docker compose up -d --build --remove-orphans
|
||
# 清理過期鏡像節省 Oracle 空間
|
||
docker image prune -f
|
||
echo "✅ 部署完成!" |