2013-10-31 43 views
2

我使用java -jar jenkins.war和java -jar slave.jar來運行Jenkins master和slave。我想知道Jenkins調用了多少個JVM,我可以配置它們的參數。Jenkins調用了多少個JVM?

在主:

  • 我想只有一個JVM(我不運行在主作業)

在從:

  • Java的罐子slave.jar =>一個JVM
  • 每個工作都有一個新的JVM,這個JVM上運行預構建的步驟,得到源代碼(SVN,GIT,...),生成後步驟
  • 每個Maven將有自己的JVM每JUnit會擁有自己的JVM

另一個問題是,我可以在管理節點的高級部分中爲從屬設置JVM,但是誰使用它的配置?

+1

但是如果Maven構建使用相同的JVM,爲什麼我們可以設置Maven的JVM參數? – Dennys

回答

3

每個Maven構建不會在其自己的JVM中運行。 Java是多線程的。當你啓動一個slave時,你可以配置它可以處理的線程數量,對於master也一樣。

通常,您在從屬節點上運行構建。在unix系統上,可以將它們設置爲從遠程節點上的主設備自動運行。

Manage Jenkins -> Manage Nodes -> New Node 

在啓動高級選項下,您可以爲運行Jenkins節點軟件的遠程JVM指定JVM參數。

每個選項都有幫助,例如「#執行人」選項:

它控制併發數量是構建詹金斯可以執行。所以這個值會影響Jenkins可能發生的整個系統負載。開始的好處是系統上的處理器數量。

增加此值會使每個構建花費更長時間,但它可能會增加整體吞吐量,因爲它允許CPU構建一個項目,而另一個構建等待I/O。

在主/從模式下使用Jenkins時,將該值設置爲0將阻止主設備自行完成任何構建。從設備可能沒有零執行器,但可能會使用從設備狀態頁面上的按鈕暫時禁用。