43 lines
1.6 KiB
YAML
43 lines
1.6 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: |
|
|
# 啟動容器
|
|
docker compose up -d --build
|
|
|
|
# 【關鍵步驟】強行將當前 Checkout 出來的程式碼複製進容器
|
|
# 假設你的容器名稱是 koori-erp-laravel.test-1
|
|
docker cp . koori-erp-laravel.test-1:/var/www/html
|
|
|
|
# 修正權限,確保容器內的 www-data 使用者可以讀取檔案
|
|
docker exec koori-erp-laravel.test-1 chown -R www-data:www-data /var/www/html
|
|
docker exec koori-erp-laravel.test-1 chmod -R 775 /var/www/html/storage /var/www/html/bootstrap/cache
|
|
|
|
- name: 4. Initialize Laravel
|
|
run: |
|
|
# 現在檔案進去了,跑 Composer 就不會噴錯了
|
|
docker exec -w /var/www/html koori-erp-laravel.test-1 composer install --optimize-autoloader --no-dev
|
|
|
|
# 生成 Key、Link 與 Migrate
|
|
docker exec koori-erp-laravel.test-1 php artisan key:generate
|
|
docker exec koori-erp-laravel.test-1 php artisan storage:link
|
|
docker exec koori-erp-laravel.test-1 php artisan migrate --force |