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