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