2016-04-15 6 views
1

SSHスレーブプラグイン経由で、Jenkinsのスレーブに特定のジョブを実行させることができますが、私の理解では、Jenkinsが依然としてslave.jar(JAVAをインストールする必要があります)を実行する理由をSSHで十分に実行できます。Jenkins Slaveがslave.jarを実行するにはjavaが必要なのはなぜですか?

+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の出力を報告できます。しかし、ジェンキンスレーブを動かすための賢い人はスレーブです。あなたが考えているのは、*実装可能な別の方法です。それは、マスターがsshを使ってリモートマシンにたくさんのコマンドを送ることができるということです。しかし、実際には、マスターがやる必要のある作業量を減らすために、sshを使用してリモートマシンに対して1つのコマンドを実行します。slave.jarを実行して残りの作業を行います。 –

+0

おかげさまでデイヴ、それは感覚を作る。 – zhangyuting

関連する問題