web-dev-qa-db-ja.com

新しいJenkinsスレーブをセットアップする方法

私は最近、主な開発者が立ち上がって終了したばかりのJenkins-driven Javaプロジェクトを継承しました。彼はJenkins WARを仮想サーバー上のTomcatインスタンスにデプロイしました。 「ビルドサーバー」。

このビルドサーバーには、myserver.example.com、別の仮想サーバー。週末に、システムスタッフは物理サーバーを廃止し、myserver.example.com virtualは存続し、そのスレーブにデプロイするように構成されたJenkinsジョブに対して次の例外を生成しました。

enter image description here

詳細はログを参照」リンクをクリックすると、次のコンソール出力が表示されます。

[03/18/13 08:13:31] [SSH] Opening SSH connection to myserver.example.com:22.
Java.io.IOException: There was a problem while connecting to myserver.example.com:22
    at com.trilead.ssh2.Connection.connect(Connection.Java:755)
    at com.trilead.ssh2.Connection.connect(Connection.Java:546)
    at hudson.plugins.sshslaves.SSHLauncher.openConnection(SSHLauncher.Java:650)
    at hudson.plugins.sshslaves.SSHLauncher.launch(SSHLauncher.Java:283)
    at hudson.slaves.SlaveComputer$1.call(SlaveComputer.Java:200)
    at Java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.Java:303)
    at Java.util.concurrent.FutureTask.run(FutureTask.Java:138)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.Java:886)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:908)
    at Java.lang.Thread.run(Thread.Java:662)
Caused by: Java.net.NoRouteToHostException: No route to Host
    at Java.net.PlainSocketImpl.socketConnect(Native Method)
    at Java.net.PlainSocketImpl.doConnect(PlainSocketImpl.Java:351)
    at Java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.Java:213)
    at Java.net.PlainSocketImpl.connect(PlainSocketImpl.Java:200)
    at Java.net.SocksSocketImpl.connect(SocksSocketImpl.Java:366)
    at Java.net.Socket.connect(Socket.Java:529)
    at com.trilead.ssh2.transport.TransportManager.establishConnection(TransportManager.Java:342)
    at com.trilead.ssh2.transport.TransportManager.initialize(TransportManager.Java:450)
    at com.trilead.ssh2.Connection.connect(Connection.Java:699)
... 9 more
[03/18/13 08:13:34] [SSH] Connection closed.

スレーブ(myserver.example.com virtual)はオフラインです。ただし、Jenkinsを実際に使用したことがないため、Jenkinsマスターを構成してこれらのジョブを新しいスレーブにビルド/展開するための適切な手順と、新しいスレーブのセットアップ方法についてはわかりません。たとえば、新しいスレーブに何かをインストールする必要がありますか、それとも何らかのセットアップ/構成が必要ですか?前もって感謝します!

23
IAmYourFaja

Jenkinsにスレーブを追加するのはとても簡単です。基本的に、UNIXスレーブを使用している場合、マシンへのSSHアクセスが必要です。また、Jenkins SSH Slavesプラグインをインストールする必要があります。それができたら、MasterJenkinsの管理オプションに移動し、ノードの管理を選択します。

手順は次のとおりです。

  1. 新しいノードをクリックします
  2. Dumb Slaveを選択し、名前を付けます(シンボリック、ドメイン名である必要はありません、後で表示されます)
  3. [OK]をクリックして、構成ページに進みます
  4. #of executorsに、そのノードで実行する同時プロセスの数(通常は割り当てられたCPUコアの数以下)を入力します
  5. Remote FS RootにJenkinsが作業ファイルを保存する場所へのフルパスを入力します
  6. オプションでLabelsをシステムで使用している場合は追加します(多くの場合必要ではありませんが、プロジェクトでは特定のジョブのエグゼキューターのプールに特定のラベルがあるノードが必要になる場合があります)
  7. SSH経由でUnixマシンでスレーブエージェントを起動の下で起動方法を選択します(まだ選択されていない場合)
  8. Launch Method行の下に表示されるHostフィールドに完全修飾ドメイン名を入力します

スレーブにインストールされているツールについていくつかの仮定があります。特殊なツールがある場合は、それらを個別にインストールする必要がある場合があります(または、実行の直前にツールの移動を処理するプラグインを調べます)。ただし、すべてのビルドツール(おそらくJava、antなど)が含まれているテンプレートからノードが構築されている場合、これを実行するために必要なことはこれだけです。

36
gaige

私の場合、これはUbuntuにsshサーバーをインストールしていなかったためです。

0
ChrisAdkin