JenkinsでGitマージドライバを使用する方法

JenkinsでGitマージドライバを使用する方法

私は最近、Gitマージドライバを使用してpom.xml-sを自動的にマージする方法を探していました。ローカルで動作しますが、Jenkinsにこのソリューションを追加したいと思います。これまでは運がありません。

私がしたこと:

1) /root/.gitconfig に次の行を追加しました。

[merge "pommerge"]
    name = A custom merge driver for Maven's pom.xml
    driver = /usr/bin/mergepom.py %O %A %B

2) 同じディレクトリに .gitattributes ファイルを作成し、次の行を追加します。

pom.xml merge=pommerge

3) mergepom.py を /usr/bin に移動します。

ベストアンサー1

まず、次の説明に従ってドライバセクションへの絶対パスを使用する必要があります。https://github.com/ralfth/pom-merge-driver(私はあなたが使用しているものまたはそのフォークのいずれかを推測しています。) -/usr/bin/mergepom.py %O %A %Bあなたの場合はドライバーです。

次に、システム全体のgit属性ファイルはおそらく$ HOME/.config/git/attributesになければなりません。https://stackoverflow.com/a/28027656

3番目はもう少し哲学的な点です。 Jenkinsを使用してファイルを自動的にマージすることは、通常、ユーザーがマージを実行し、Jenkinsがマージを評価するようにワークフローを変更することを考慮に入れることができます。 Jenkinsジョブがマージを実行するのはなぜですか(リリースブランチをマスターブランチに自動的にマージ)?ユーザーはこれを行うことができますか、それを行う必要がありますか?

おすすめ記事