私はジェンキンスの問題に苦しんでいます。タイトルで説明するのも難しかったので、混乱させてしまったらごめんなさい。
私のプロジェクト全体の構造は次のとおりです。
主な仕事:
ジョブをメイン ジョブのディレクトリにチェックアウトする
パラメータ化されたビルド ジョブ #1 (リモート ワークスペースを使用 [この場合は親のフォルダー])
パラメータ化された構築ジョブ #2 (同じ)
パラメータ化されたビルド ジョブ #X (同じ)
問題は、各ビルド ジョブが、チェックアウトされた SVN ディレクトリの特定のフォルダーにある .bat ファイルを実行することです。コードを再利用するために、bat ファイルによって実行されるジョブに固執しています。それぞれがパラメーターを取ります。パラメータの 1 つは、常にスレーブ上のローカル ディレクトリです。
次の理由により、タスクを達成できません:
1) %workspace% を使用しようとすると、カスタム ワークスペースでは機能しません (ジェンキンスのフォルダーからの相対パスのみを提供します 。パスをハードコーディングする余裕はありません。ジェンキンスはさまざまな OS で実行できます。
2) %JENKINS_HOME% + ローカル リダイレクトの使用は、マスター上のジェンキンの場所を提供するため失敗します (OS が異なる場合でも)
3) バットに %~dp0 を使用すると (ファイルが実行される場所を受け取るためによく使用されます)、 C:\Windows\Temp が返されます。理由を聞く気力もありません。
私はアイデアを使い果たしました。私は今約1.5週間苦労しています。
プロジェクト全体を再構築する方法はいくつかありますが、時間がかかり、現在の作業は無駄になります。