2016-04-15 60 views
1

通過SSH slave插件,我們可以讓Jenkins從服務器運行特定的工作,但在我的理解中,只有SSH足以執行命令,爲什麼Jenkins仍然想運行slave.jar(必須安裝JAVA)?爲什麼Jenkins Slave需要java來運行slave.jar?

+0

SSH是Jenkins支持的遠程執行機制的一部分。 Jenkins自己的功能位於slave.jar中。 – Jayan

回答

3

SSH是主從機之間的通信機制。

奴隸仍然必須運行一些東西來聽主人和做實際的構建。 Jenkins的奴隸代碼是用Java編寫的,並存儲在slave.jar中。

所以你在從機上需要Java的原因是因爲Jenkins從機軟件是用Java編寫的。主人使用SSH來告訴奴隸做些什麼。

+0

感謝您的回答。但我仍然認爲只有ssh足以執行命令並獲取輸出和退出代碼。爲什麼需要Slave.jar來執行作業。 – zhangyuting

+0

ssh非常適合與奴隸機器通信 - 但它只能告訴遠程機器做什麼。該「做什麼」是運行java並使用slave.jar。 ssh可以報告slave.jar的輸出。但是運行jenkins slave的智能在slave.jar中。你想到的是另一種方式,它可以*已經實現,這是主人可以發送大量的命令到遠程機器使用SSH。但實際上,爲了減少主服務器的工作量,它使用ssh向遠程機器發出單個命令:運行slave.jar完成其餘的操作。 –

+0

謝謝戴夫,這讓感官。 – zhangyuting

相關問題