46 lines
1.7 KiB
YAML
46 lines
1.7 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
|
|
|
|
# 【關鍵修正】把目前目錄下的「所有東西」複製進容器的 /var/www/html/
|
|
# 注意:點後面加個斜槓或是用內容複製,可以避開目錄覆蓋衝突
|
|
docker cp ./ koori-erp-laravel.test-1:/var/www/html/
|
|
|
|
# 修正權限
|
|
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.json 是否真的在那裡
|
|
docker exec koori-erp-laravel.test-1 ls -F /var/www/html/
|
|
|
|
# 執行安裝
|
|
docker exec -w /var/www/html koori-erp-laravel.test-1 composer install --optimize-autoloader --no-dev
|
|
|
|
# 其他初始化指令
|
|
docker exec koori-erp-laravel.test-1 php artisan key:generate --force
|
|
docker exec koori-erp-laravel.test-1 php artisan storage:link
|
|
docker exec koori-erp-laravel.test-1 php artisan migrate --force |