2016-07-25 20 views
6

Jenkins 2パイプライン機能を使用して自分のビルドを定義したいのですが、ソースからこの設定をJenkinsfileにロードします。 しかし、私はmasterノードをワークスペースで混乱させたくありません。jenkinsパイプラインを使用してマスターノードでソースのチェックアウトを回避する方法

理想的には、パイプラインジョブが特定のノードタイプを実行するように指定できますが、それは可能ではないように指定できます。

  • 使用ジェンキンスジョブの設定が保存されている専用のリポジトリ:

    私は2つの選択肢を参照してください。

  • cleaver git checkout戦略(浅い+疎)を使用します。

私は何かを見逃しましたか?ベストプラクティスは何でしょうか?

+1

良い質問です。私は非常にJenkinsfileを読むために、私たちのソフトウェアプロジェクトの500 MBのリポジトリ全体をチェックアウトするためにjenkins masterを見て驚いていました。すべてのビルドがすべてのものを再びチェックアウトする異なるスレーブで実行されるので、マスターでこのチェックアウトを行うのは意味がありません。 – Bluehorn

答えて

0

あなたはJenkinsfileを使用できると思います。しかし、ステップ 'git checkout'を使用しないでください。 作業スペースは、jenkinsウェブインターフェースからは受け入れられません。したがって、jenkinsfileを使用してビルドを管理することができます。

+0

私はそれを手に入れません。ステップ「git checkout」を回避するにはどうすればよいですか? –

+0

私もそうだと思います。あなたのJenkinsファイルに 'git checkout'を追加しないでください。あなたのスレーブでshコマンドを使用してすべての段階を行うことができます – whitediver

+0

Jenkinsfile *はマスターで読み込み(そしてコンテンツを実行する)ためにチェックアウトされなければなりません。ジョブを設定するときは、Jenkinsfileが存在するscmリポジトリを指定する必要があります。しかし、これがどこで行われるかを制御するオプションはありません。 –

2

あり、これが修正されましたと主張ジェンキンスの問題だ、とだけJenkinsfile自体がマスターにチェックアウトする必要があります:https://issues.jenkins-ci.org/browse/JENKINS-33273

(それはしかし、現時点では私のために働いていません。)

関連する問題