apache資料夾中jenkins的權限

apache資料夾中jenkins的權限

我遇到類似的問題: 如果我沒有目標目錄的權限,如何將檔案複製為 Jenkins「建置後」操作

我願意將文件從 jenkins 工作區移動/複製/rsync 到

/var/www/應用程式

權利設定為

阿帕契:阿帕契

我已將詹金斯添加到群組中 阿帕契,但是jenkins實例無法將檔案複製到/var/www/app。

我也嘗試將 /var/www/app 的權限設為 apache:jenkins 但 Jenkins 仍然不斷吐出錯誤:權限被拒絕或操作不允許

PS:忘記新增作業系統是centOS;)

編輯1:這是jenkins腳本運行的日誌:

[workspace] $ /bin/sh -xe /tmp/hudson1379987233097some_more_numbers.sh + sh /path_to_sh_script/script.sh 傳送增量檔案列表

應用/

rsync:無法在「/var/www/app/application」上設定權限:不允許操作(1)

這就是腳本本身:)

#!/bin/bash

rsync -avzh /path/to/jenkins/jobs/app/workspace/default/application /var/www/app ;

rsync -avzh /path/to/jenkins/jobs/app/workspace/default/library /var/www/app ;

rsync -avzh /path/to/jenkins/jobs/app/workspace/default/public /var/www/app ;

答案1

經過評論中長時間而富有成效的討論,以及以下內容這個連結用戶設法解決了添加的問題

--no-perms --omit-dir-times

rsync選項。

初步嘗試解決此問題:

我想如果你在短時間內不關心安全問題,你可以嘗試一下

chmod a+rwx /var/www/app 

然後嘗試寫入該目錄。請注意,如果有子目錄,則必須遞歸執行:

chmod --recursive a+rwx /var/www/app 

如果成功,那麼您可以開始逐漸刪除權限,這將幫助您找出問題。

驗證使用者 jenkins 是否已經是 apache 的群組成員

groups apache

答案2

我有類似的問題。我想在 Jenkins 的本機上寫入 /var/www 。在我的伺服器上 /var/www 屬於 www-data,因此我將 jenkins 新增至 www-data 群組並使 /var/www 群組可寫,但不斷出現權限被拒絕的錯誤。只需重新啟動詹金斯服務就可以解決我的問題。

答案3

首先使用 SSH 和 ssh-key Exchange 將您的 Linux 或 apache 伺服器新增至 Jenkin 伺服器。並在 linux/apache 伺服器中建立一個用戶,用戶名為 jenkin(unix 用戶)。因為如果您使用 ssh 來拉/推文件,jenkin 會使用“jenkin”作為標準使用者。

將 apache 使用者新增至 unix 中的 jenkin 群組可能會有所幫助。

相關內容