2015-07-21 63 views
0

My Jenkins安裝在默認位置:/ var/lib/jenkins。每次構建時,它都會將我的工作空間的根目錄(在本地計算機/ home/john/p4中)更改爲/ var/lib/jenkins/...,這不應該發生?Jenkins的主目錄

如何指定我的客戶端(工作區)的根目錄,以便構建不會更改其位置?我應該改變$ JENKINS_HOME嗎?如果我應該改變它,那麼這就等於我必須將Jenkins重新安裝到我想要的位置,因爲$ JENKINS_HOME應該是所有jenkins文件和構建的根目錄。

Jenkins和P4客戶端的正確行爲應該是什麼?另外,它與在Jenkins中開始構建的用戶有什麼關係? Jenkins用戶與安裝Jenkins的Linux用戶有任何關係?

+1

您是否爲啓動Jenkins應用程序的用戶使用了專用P4工作區? –

+0

@BrunoLavit,我不確定這一點。可能不會。在我的基於Jenkins的網站上,我創建了一個用戶「jenkins」並使用它登錄,然後單擊「Build Now」。在我的Linux服務器上,我連接到服務器並以用戶「admin」啓動Jenkins。 「jenkins」和「admin」是兩種不同類型的用戶。你指哪個用戶?如果你引用「管理員」--- Linux ueser,如何創建一個專用的P4工作區?我使用P4嚮導來創建一個工作區,工作區的根目錄是我的本地機器/ home/john/p4。謝謝。 – user697911

+0

我在以前的公司使用P4和Jenkins。我記得我們爲構建機器創建了專用的P4工作區(我認爲您可以在工作區中設置主機名)。所以它更多的是每臺機器的WS,而不是每個用戶。你可以試試嗎? –

回答

0

p4-plugin Jenkins需要它自己的Perforce工作區,它將設置Perforce工作區根目錄以匹配Jenkins工作區根目錄。讓Jenkins創建一個新的Perforce工作區(使用一個不存在的名稱,我通常在前綴jenkins-前面)。如果你想成爲動態使用一個名稱,如:

jenkins-${NODE_NAME}-${JOB_NAME} 

...作爲${NODE_NAME}${JOB_NAME}將擴大。

接下來定義一個視圖映射(或流路徑)來指定Perforce中文件的位置以及您希望它們如何顯示在工作區中。例如:

查看:

//depot/myProj/main/... //jenkins-${NODE_NAME}-${JOB_NAME}/... 

至於連接到Perforce的,那就是在Perforce的證書定義的用戶,但sync'ed到詹金斯主(或從,如果你有一個生成的文件農場)將使用Jenkins服務的UID/GID。

您可以找到p4-plugin here的文檔。