3

Jenkinsスレーブ(localhost:8000)があり、Jenkinsマスター(localhost:8080)から実行しています(link )。ここでの基本的な考え方は、リモートジョブを実行し、ジョブが終了するまで待つことです。

java -jar jenkins-cli.jar -s http://localhost:8000 build "Test Suite"

今、これは待ちません。スレーブでジョブを開始すると、Jenkinsマスターは、スレーブがさらに30分間実行されても、タスクはすぐに終了すると言います。

スレーブのシグナルをブロックまたはチェックして、それが終了したことを確認し、ジョブの終了ステータスコードを取得する方法を知っている人はいますか?

注:スレーブテストは、サービスとして実行され、テストからWebブラウザーを開始する権限を許可しないJenkinsマスターからは実行されないため、スレーブで実行する必要があります。だから、私は目に見えるコンソールでスレーブを実行します。

4

2 に答える 2

5
java -jar jenkins-cli.jar -s http://localhost:8000 build "Test Suite" -s

ビルドコマンドにパラメータ-sを追加すると、ジョブがトリガーされ、ジョブの完了後に戻る必要があります

于 2013-03-16T04:20:51.777 に答える
1

各Windowsアプリケーションは、その親に終了コードを返します。Windowsバッチファイルを使用して終了コードを調べます。例:

java -jar jenkins-cli.jar -s http://127.0.0.1:9090 build "Test Suite" -s
echo The exit code is %errorlevel%

ジョブが正常に完了すると、次のようになります。

Completed "Test Suite" #72 : SUCCESS
The exit code is 0

いくつかのエラーシナリオを調べます(ジョブ名が間違っている、ジョブがFAILEDを作成するなど)

注:Windowsサービスとしてではなくマスタージェンキンスを実行する方が簡単な場合があります。

于 2013-03-17T06:19:02.340 に答える