36 lines
1.3 KiB
YAML
36 lines
1.3 KiB
YAML
name: Koori-ERP-Deploy
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
auto-deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: 1. Checkout Code
|
|
uses: actions/checkout@v3
|
|
with:
|
|
# --- 關鍵:直接指定 Gitea 的伺服器網址為 IP ---
|
|
github-server-url: http://192.168.0.103:3000
|
|
repository: ${{ gitea.repository }}
|
|
# ------------------------------------------
|
|
|
|
- name: 2. Create .env from Secrets
|
|
run: echo "${{ secrets.DOT_ENV }}" > .env
|
|
|
|
- name: 3. Build and Start Docker
|
|
run: |
|
|
# 這裡會直接在 Linux 宿主機上啟動容器
|
|
docker compose up -d --build
|
|
|
|
- name: 4. Initialize Laravel
|
|
run: |
|
|
# 由於是第一次部署,我們需要安裝套件與跑 Migration
|
|
# 容器名稱通常是: 專案資料夾名-laravel.test-1
|
|
# 我們用 'docker ps' 可以確認,這裡先抓關鍵字執行
|
|
CONTAINER_NAME=$(docker ps --filter "name=laravel.test" --format "{{.Names}}")
|
|
docker exec $CONTAINER_NAME composer install --no-dev --optimize-autoloader
|
|
docker exec $CONTAINER_NAME php artisan migrate --force
|
|
docker exec $CONTAINER_NAME npm install
|
|
docker exec $CONTAINER_NAME npm run build |