web-dev-qa-db-ja.com

gitWindowsマスター/ LinuxスレーブへのJenkinsパス

いくつかの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でこれを解決する「正しい」方法はありますか、それともこれを行う別の/より良い方法がありますか?

ありがとう。

10
Steve Folly

すべてのスレーブとマスターのパスに「git」を確保することは、1つの良い方法です。

ただし、Jenkinsはgitを複数インストールできます(jdk、groovyなどの他のツールにも当てはまります...)

これは http:// server-url/configure から構成できます。

enter image description here

"Add Git"をクリックして、異なる名前とパスで新しいgitを提供します

enter image description here

次に、「ジョブ」構成で「使用するgitを選択」できます。

enter image description here

このアプローチにはプラスの副作用があります。さまざまなgitクライアントバージョンを使用できるようになります(テスト用など)

3
Jayan

私の問題は少し異なっていましたが、私の解決策はここでもこの質問に当てはまります。 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ジョブを実行できます。手順:

  1. Jenkinsの管理>ノードの管理
  2. 「Gitのインストール」で提供されたもの以外のgitの場所を持つノードごとに、次の手順を実行します。2.1ノード構成ページを開く(構成アイコン)2.2まだチェックされていない場合は「ツールの場所」をチェックします2.3「追加」をクリックします2.4「(Git)」を選択しますドロップダウンの「デフォルト」2.5スレーブノードのgitインストールへのパスを入力します(例:/usr/local/bin/git)2.6保存
  3. ジョブを実行する可能性のあるLinuxスレーブごとに、手順2.1から2.5を繰り返します。

Linuxでのノード構成は次のようになります。

slave node configuration

@Jayanが述べたように、複数のgitインストールが必要な場合、または何らかの理由で特定のバージョンのgitを選択したJenkinsジョブに対して実行する必要がある場合は、追加の「gitインストール」の方が適していると思います。

4
L. Holanda

Gitdirの同じ環境変数で問題ありません。

0
unickq