star-cloud/.gitea/workflows/deploy-prod.yaml
sky121113 9031f5fd4e [FIX] 修復正式環境 CI/CD rsync 權限與 sudo 問題
1. 將 twsystem1003 加入 docker 群組,移除腳本中的 sudo 需求。
2. 在 docker exec 指令中加入 -u 1001:1001,避免產生 root 權限的編譯檔案導致 rsync 同步失敗。
2026-05-15 11:07:39 +08:00

44 lines
1.7 KiB
YAML

name: star-cloud-deploy-production
on:
push:
branches:
- main # 或是正式環境分支
jobs:
deploy-production:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Install SSH Key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.PROD_SSH_PRIVATE_KEY }}
known_hosts: ${{ secrets.PROD_KNOWN_HOSTS }}
- name: Step 1 - Sync Code to Server
run: |
rsync -avz --delete \
--exclude='.git' \
--exclude='node_modules' \
--exclude='vendor' \
--exclude='storage' \
--exclude='bootstrap/cache' \
./ twsystem1003@34.84.169.132:~/star-cloud/
- name: Step 2 - Execute Remote Deployment Commands
run: |
ssh twsystem1003@34.84.169.132 "cd ~/star-cloud && \
WWWGROUP=1001 WWWUSER=1001 docker compose up -d --build && \
docker exec -u 1001:1001 star-cloud-laravel composer install --no-dev --optimize-autoloader && \
docker exec -u 1001:1001 star-cloud-laravel npm install && \
docker exec -u 1001:1001 star-cloud-laravel npm run build && \
docker exec -u 1001:1001 star-cloud-laravel php artisan migrate --force && \
docker exec -u 1001:1001 star-cloud-laravel php artisan optimize:clear && \
docker exec -u 1001:1001 star-cloud-laravel php artisan optimize && \
docker exec -u 1001:1001 star-cloud-laravel php artisan db:seed --class=RoleSeeder --force && \
docker exec -u 1001:1001 star-cloud-laravel php artisan db:seed --class=AdminUserSeeder --force && \
docker restart star-cloud-mqtt-worker"