From b8995ece05015792ceade709a51c250fec2a0da8 Mon Sep 17 00:00:00 2001 From: sky121113 Date: Mon, 5 Jan 2026 21:46:01 +0800 Subject: [PATCH] test2 --- .gitea/workflows/deploy.yaml | 90 +++++++++++++++++++++++++++--------- 1 file changed, 67 insertions(+), 23 deletions(-) diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index f04b3cf..df37c4c 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -1,39 +1,87 @@ +# name: Koori-ERP-Demo-Deploy +# on: +# push: +# branches: +# - main + +# jobs: +# sync-update: +# runs-on: demo-server +# steps: +# # - name: 1. Checkout New Code +# # uses: actions/checkout@v3 +# # with: +# # github-server-url: http://192.168.0.103:3000 +# # repository: ${{ gitea.repository }} +# - name: 1. Checkout New Code +# run: | +# # 進入工作目錄並直接用 git 抓 code,完全不需要 Node +# rm -rf ./* +# git clone -b main http://server:3000/${{ gitea.repository }}.git . + +# - name: 2. Sync Files & Environment +# run: | +# # 建立 .env +# cp .env.example .env +# sed -i "s|APP_KEY=.*|APP_KEY=${{ secrets.APP_KEY }}|g" .env + +# # 啟動環境 +# docker compose up -d --build --force-recreate + +# # A. 同步檔案 (包含 .env) +# tar --exclude='.git' --exclude='node_modules' --exclude='vendor' -cf - . | docker exec -i koori-erp-laravel tar -xf - -C /var/www/html + +# - name: 3. Backend & Frontend Build +# run: | +# # 使用一個 exec 區塊跑完編譯,減少 SSH/Exec 連線開銷 +# docker exec -w /var/www/html koori-erp-laravel sh -c " +# composer install --optimize-autoloader && +# npm install && +# npm run build && +# php artisan migrate --force && +# php artisan optimize:clear +# " + +# - name: 4. Final Permission Fix +# run: | +# # 這裡用 1000:1000 是因為你 docker-compose 裡設定了 UID/GID +# docker exec koori-erp-laravel chown -R 1000:1000 /var/www/html +# docker exec koori-erp-laravel chmod -R 775 /var/www/html/storage +# - name: 5. restart container +# run: | +# docker restart koori-erp-laravel name: Koori-ERP-Demo-Deploy on: push: branches: - main - jobs: sync-update: runs-on: demo-server steps: - # - name: 1. Checkout New Code - # uses: actions/checkout@v3 - # with: - # github-server-url: http://192.168.0.103:3000 - # repository: ${{ gitea.repository }} - name: 1. Checkout New Code run: | - # 進入工作目錄並直接用 git 抓 code,完全不需要 Node rm -rf ./* git clone -b main http://server:3000/${{ gitea.repository }}.git . - - name: 2. Sync Files & Environment + - name: 2. Stop Container First run: | - # 建立 .env + # ✅ 先停止容器 + docker compose down || true + + - name: 3. Prepare Environment + run: | + # ✅ 建立 .env(在宿主機) cp .env.example .env sed -i "s|APP_KEY=.*|APP_KEY=${{ secrets.APP_KEY }}|g" .env - - # 啟動環境 - docker compose up -d --build --force-recreate - # A. 同步檔案 (包含 .env) - tar --exclude='.git' --exclude='node_modules' --exclude='vendor' -cf - . | docker exec -i koori-erp-laravel tar -xf - -C /var/www/html - - - name: 3. Backend & Frontend Build + - name: 4. Start Container (Files Already Ready) + run: | + # ✅ 啟動容器(檔案已經準備好,透過 volume 自動掛載) + docker compose up -d --build --force-recreate --wait + + - name: 5. Backend & Frontend Build run: | - # 使用一個 exec 區塊跑完編譯,減少 SSH/Exec 連線開銷 docker exec -w /var/www/html koori-erp-laravel sh -c " composer install --optimize-autoloader && npm install && @@ -42,11 +90,7 @@ jobs: php artisan optimize:clear " - - name: 4. Final Permission Fix + - name: 6. Final Permission Fix run: | - # 這裡用 1000:1000 是因為你 docker-compose 裡設定了 UID/GID docker exec koori-erp-laravel chown -R 1000:1000 /var/www/html - docker exec koori-erp-laravel chmod -R 775 /var/www/html/storage - - name: 5. restart container - run: | - docker restart koori-erp-laravel \ No newline at end of file + docker exec koori-erp-laravel chmod -R 775 /var/www/html/storage \ No newline at end of file