fix: 修正部署流程中的 npm 權限問題
- 在 npm install 前先用 root 身份修正 /.npm 和 node_modules 權限 - 加入 npm cache clean --force 避免快取權限衝突 - 同時修正 Demo 與正式環境的部署腳本 - 解決 EACCES 與 ENOTEMPTY 錯誤
This commit is contained in:
@@ -94,15 +94,24 @@ jobs:
|
||||
command_timeout: 10m
|
||||
script: |
|
||||
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 "
|
||||
# 1. 後端依賴 (Demo 環境建議加上 --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 run build &&
|
||||
|
||||
# 3. Laravel 初始化與優化
|
||||
# 4. Laravel 初始化與優化
|
||||
php artisan migrate --force &&
|
||||
php artisan optimize:clear &&
|
||||
php artisan optimize &&
|
||||
@@ -184,11 +193,20 @@ jobs:
|
||||
fi
|
||||
|
||||
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 "
|
||||
composer install --no-dev --optimize-autoloader &&
|
||||
|
||||
# 清理 npm cache(避免權限問題)
|
||||
npm cache clean --force 2>/dev/null || true &&
|
||||
|
||||
npm install &&
|
||||
npm run build
|
||||
npm run build &&
|
||||
|
||||
php artisan migrate --force &&
|
||||
php artisan optimize:clear &&
|
||||
|
||||
Reference in New Issue
Block a user