31 lines
1.0 KiB
YAML
31 lines
1.0 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
|
|
|
|
- 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 |