いくつかのWindowsビルドを実行するWindows上のJenkinsマスターがあります。
Gitへの固定パスが「C:\ ProgramFiles(x86)\ git\bin\git.exe」として構成されているgitクライアントプラグイン
Linuxスレーブを作成しましたが、そこでジョブを実行すると、コマンド「C:\ Program Files(x86)\ git\bin\git.exe init」を実行しようとして、明らかに失敗します。
これに対する簡単な解決策はありますか? WindowsマスターでPATHを変更することですでに解決したと思いますが、gitへの固定パスは「git」になっているため、両方のOSで機能します。
Jenkinsでこれを解決する「正しい」方法はありますか、それともこれを行う別の/より良い方法がありますか?
ありがとう。
すべてのスレーブとマスターのパスに「git」を確保することは、1つの良い方法です。
ただし、Jenkinsはgitを複数インストールできます(jdk、groovyなどの他のツールにも当てはまります...)
これは http:// server-url/configure から構成できます。
"Add Git"をクリックして、異なる名前とパスで新しいgitを提供します
次に、「ジョブ」構成で「使用するgitを選択」できます。
このアプローチにはプラスの副作用があります。さまざまなgitクライアントバージョンを使用できるようになります(テスト用など)
私の問題は少し異なっていましたが、私の解決策はここでもこの質問に当てはまります。 WindowsマスターでのJenkins Poll SCM(Git)/ Linuxスレーブでのビルド
「Gitインストール」オプションを使用する場合は、Gitインストールごとに1つずつ異なるジョブを作成する必要があります。 WindowsまたはLinuxでPATHを変更することは、オプションではない場合があります(私の場合、私はJenkins Web UIにしかアクセスできません)。
代わりに、デフォルトのGitインストールを作成して、マスターgitインストールが何であれ(例:c:\apps\git\bin\git.exe
)次に、各ノードのカスタム「ツールの場所」を構成します。このようにして、異なるマスター/スレーブOSで同じjenkinsジョブを実行できます。手順:
/usr/local/bin/git
)2.6保存Linuxでのノード構成は次のようになります。
@Jayanが述べたように、複数のgitインストールが必要な場合、または何らかの理由で特定のバージョンのgitを選択したJenkinsジョブに対して実行する必要がある場合は、追加の「gitインストール」の方が適していると思います。
Gitdirの同じ環境変数で問題ありません。