2017-10-25 3 views
0

ワークスペースを共有するジョブがいくつか設定されています。ワークフローは次のとおりです。様々な枝のためにスレーブマシン上のJenkinsワークスペースパス

  • は大きな鳴らしC++プロジェクトFOOをビルドします。

  • FOOのワークスペースを使用する複数の下流テストを実行します。

これを達成するには、ダウンストリームジョブの[カスタムワークスペースを使用]フィールドをビルド作業領域に割り当てます。

最近、私たちは1つのブランチをとり、それをマスタではなくJenkinsスレーブマシンで構築するように割り当てました。

マスターでは、fooリポジトリは$JENKINS_JOBS_PATH/FOO/workspace/foo_repoに複製され、スレーブではリポジトリは$JENKINS_JOBS_PATH/FOO/foo_repoにクローニングされました。これにより、さらに変更する必要が生じました。

これは設計によるのですか、または何らかの形でマスターとスレーブを一貫して構成しませんでしたか?

答えて

0

以前のバージョンのJenkinsでは、$ {JENKINS_HOME}/jobs/JOB/workspaceディレクトリの下に作業領域が置かれていました。アップグレード後、このパターンはJenkinsインスタンスにとどまります。新しいバージョンでは、ワークスペースを$ {JENKINS_HOME}/workspace /に配置しました。私は、スレーブが古いパターン(特に新しいスレーブの場合)に従う必要はないと考えているので、ディレクトリ間でマシン間で一貫性がないかもしれません。

マスター上のワークスペースの場所は、「Jenkins」 - >「Jenkinsの設定」 - >「Advanced」で変更できます。

これを処理する安全な方法だと思います...カスタムワークスペースを使用する場合は、大きなホックC++プロジェクトを構築する最初のワークスペースを含め、すべてのジョブにそのワークスペースを使用する必要があります。あなたはすべてのパイプラインでこれをしなかった場合

、あなたは、単一のジョブでこのすべてを実行し、すべてのファイルがどこにあるかをより詳細に制御を持っている、とあなたはstashunstashのオプションを持っていますが、ファイルが巨大であれば可能隠し場所は行く方法ではないかもしれません。

関連する問題