Jenkins 使用者無法將檔案複製到 Apache /var/www 資料夾 - 所有權限均適用

Jenkins 使用者無法將檔案複製到 Apache /var/www 資料夾 - 所有權限均適用

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
...
...

這是我們迄今為止所做的/嘗試過的:

  1. 將「jenkins」使用者新增至 root 和 ubuntu 群組。

     ubuntu@ip-172-31-15-215:/var/www/html$ groups jenkins
     jenkins : jenkins root ubuntu
    
  2. 將 /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資料夾)。

相關內容