fix: 修正部署流程中的 npm 權限問題
All checks were successful
Star-Cloud-Deploy-System / deploy-demo (push) Successful in 40s
Star-Cloud-Deploy-System / deploy-production (push) Has been skipped

- 在 npm install 前先用 root 身份修正 /.npm 和 node_modules 權限
- 加入 npm cache clean --force 避免快取權限衝突
- 同時修正 Demo 與正式環境的部署腳本
- 解決 EACCES 與 ENOTEMPTY 錯誤
This commit is contained in:
2026-01-13 10:39:05 +08:00
parent 84ef0c24e2
commit a578c7f261

View File

@@ -94,15 +94,24 @@ jobs:
command_timeout: 10m command_timeout: 10m
script: | script: |
cd /home/amba/star-cloud cd /home/amba/star-cloud
# 修正 npm cache 與 node_modules 權限問題
docker exec -u root star-cloud-laravel sh -c "
chown -R sail:sail /.npm /var/www/html/node_modules 2>/dev/null || true
"
docker exec -u 1000:1000 -w /var/www/html star-cloud-laravel sh -c " docker exec -u 1000:1000 -w /var/www/html star-cloud-laravel sh -c "
# 1. 後端依賴 (Demo 環境建議加上 --no-interaction 避免卡住) # 1. 後端依賴 (Demo 環境建議加上 --no-interaction 避免卡住)
composer install --no-dev --optimize-autoloader --no-interaction && composer install --no-dev --optimize-autoloader --no-interaction &&
# 2. 前端編譯 # 2. 清理 npm cache避免權限問題
npm cache clean --force 2>/dev/null || true &&
# 3. 前端依賴與編譯
npm install && npm install &&
npm run build && npm run build &&
# 3. Laravel 初始化與優化 # 4. Laravel 初始化與優化
php artisan migrate --force && php artisan migrate --force &&
php artisan optimize:clear && php artisan optimize:clear &&
php artisan optimize && php artisan optimize &&
@@ -185,10 +194,19 @@ jobs:
echo "容器狀態:" && docker ps --filter "name=star-cloud-laravel" echo "容器狀態:" && docker ps --filter "name=star-cloud-laravel"
# 修正 npm cache 與 node_modules 權限問題
docker exec -u root star-cloud-laravel sh -c "
chown -R sail:sail /.npm /var/www/html/node_modules 2>/dev/null || true
"
docker exec -u 1000:1000 -w /var/www/html star-cloud-laravel sh -c " docker exec -u 1000:1000 -w /var/www/html star-cloud-laravel sh -c "
composer install --no-dev --optimize-autoloader && composer install --no-dev --optimize-autoloader &&
# 清理 npm cache避免權限問題
npm cache clean --force 2>/dev/null || true &&
npm install && npm install &&
npm run build npm run build &&
php artisan migrate --force && php artisan migrate --force &&
php artisan optimize:clear && php artisan optimize:clear &&