2017-06-30 3 views
0

Jenkinsのスレーブ設定に関するアドバイスをお探しの場合今まで私たちはただマスターボックスを持っていました。すべてのジョブはsvnに格納されたgroovy Jenkinsfileから実行されるパイプラインです。これらのスクリプトは、Jenkinsfileと同じディレクトリにあり、チェックアウトの一部として提供される他のスクリプトをさまざまに参照します。セットアップにスレーブを追加することにしましたが、ジョブがスレーブ上で実行されるときにJenkinsの動作が異なっていることがわかりました。Jenkinsのマスターとスレーブの動作が異なる

ジョブスクリプトは同じような場所にチェックアウトされているマスター上で実行されます。

<JenkinsHome>/<Workspaces>/<JobName>@Script/ 

スレーブ上で実行したときに使用可能なスクリプトが存在しないので、しかし、最初はチェックアウトがありません。私たちは、スクリプトの先頭で

checkout scm 

を追加することにより、Jenkinsfileでチェックアウトを強制しましたが、これは次のような場所にスクリプトをチェックアウトします:

<JenkinsHome>/<Workspaces>/<JobName>/ 

注@Scriptの欠如

これを回避するには、スクリプトが必要なファイルの場所をいくつか表示する必要がありますが、他の誰かがより洗練されたソリューションを見つけたのかどうか疑問に思っていました。

+0

なぜ絶対パスを使用していますか? – StephenKing

+0

私たちはそうではありません。プログラムでパスを取得します。しかし、あなたのような構造で終わるマスター上: ///- チェックアウトからスクリプトがある - メインワークスペース //スクリプト/ @。 スレーブでは、 ///- メインワークスペースと、チェックアウトのスクリプトが含まれています。 – gnuchu

答えて

0

これを閉じます。マスターとスレーブが互いにどのように連携しているかについての基本的な誤解に至ります。

+0

あなたはそれを削除できると思いますか? –

関連する問題