
Jenkins在Ubuntu 18.04上安裝並運行成功。
作為專案建置過程的一部分,我們需要將建置的檔案複製到/var/www/html
(Apache 資料夾)下的特定資料夾。我們的建置/執行 shell:
npm install
ng build --prod
cp -R /var/lib/jenkins/workspace/kagi-core/dist/core/* /var/www/html/kagi-core/
但是 jenkins 建置在最終複製命令時失敗,並出現以下錯誤:
23:18:10 + cp -R /var/lib/jenkins/workspace/kagi-core/dist/core/3rdpartylicenses.txt /var/lib/jenkins/workspace/kagi-core/dist/core/assets ...
23:18:10 cp: cannot create regular file '/var/www/html/kagi-core/3rdpartylicenses.txt': Permission denied
...
...
這是我們迄今為止所做的/嘗試過的:
將「jenkins」使用者新增至 root 和 ubuntu 群組。
ubuntu@ip-172-31-15-215:/var/www/html$ groups jenkins jenkins : jenkins root ubuntu
將 /var/www/html/kagi-core 資料夾的權限變更為「jenkins」用戶
drwxr-xr-x 3 ubuntu jenkins 4096 Sep 17 21:36 www .. drwxr-xr-x 3 ubuntu jenkins 4096 Sep 18 21:04 html .. drwxrwxrwx 4 ubuntu jenkins 4096 Sep 18 21:18 kagi-core
我們缺什麼?感謝任何幫助!
答案1
在嘗試解決此問題時,找到了解決方案。在此添加以供參考:
仔細觀察,資料夾的權限/var/www
如下
drwxr-xr-x 3 ubuntu jenkins 4096 Sep 17 21:36 www
但相反,它們應該是相反的(允許“jenkins”用戶進入預設群組):
drwxr-xr-x 3 jenkins ubuntu 4096 Sep 17 21:36 www
我們還將該組重置為預設值root
所以解決這個問題的命令是
cd /var
sudo chown -R jenkins:root www/
此後,jenkins 建置成功(能夠複製到該/var/www/html
資料夾)。