1

2 つの異なる VM にある 2 つのスレーブ (Slave-1 と Slave-2) で構築したい Jenkins マルチ構成プロジェクトがあります。Jenkins がスレーブごとに異なるワークスペースを作成しようとする方法に問題があります。各 VM で同じワークスペース パスを使用したいと考えています。

Perforce からプロジェクト ファイルを取得しており、両方の VM のディレクトリ c:\workspace に配置したいと考えています。ただし、ビルドを実行すると、Slave-1 を持つ VM が表示され、プロジェクト ファイルが次の場所に保存されます。

c:\ワークスペース\ラベル\スレーブ-1

他の VM では、プロジェクト ファイルは次の場所にあります。

c:\ワークスペース\ラベル\スレーブ-2

c:\workspace の下の「label」フォルダは、構成マトリックスに入力したスレーブ名です。

Jenkins をオーバーライドして、プロジェクト ファイルを各 VM の c:\workspace (\label\Slave_name フォルダーなし) に配置するにはどうすればよいですか? Jenkins が混乱を避けるためにこれを行っていることは理解していますが、私のワークスペースはまったく異なる VM 上にあり、互いにやり取りすることはありません。正しくビルドするには、c:\workspace ディレクトリを使用する必要があります。

4

2 に答える 2

1

追加のパラメーターを使用して Jenkins を起動できます。

-Dhudson.model.Slave.workspaceRoot=c:\workspace

ここから取得: https://issues.jenkins-ci.org/browse/JENKINS-12667

于 2015-05-13T19:21:45.127 に答える
0

条項:

UnifiedDir: 両方の VM で同じ、使用するターゲット ディレクトリ Workspace: Jenkins が作成する、各 VM に固有のディレクトリ

ワークスペースの分離と一意の名前付けを回避するには、ビルド スクリプトでワークスペース全体 (またはワークスペースから必要なもの) をターゲットの統合ディレクトリにコピーする必要があります。次に、「Workspace\Build SCript」での 2 回目の呼び出しで、「UnifiedDir\Build Script」を呼び出す必要があります。

これで、ビルド ノード間に統合されたワークスペースができました。ワークスペースの内容をコピーする前に、この UnifiedDir の内容を必ず削除してください。

于 2015-05-13T23:28:38.480 に答える