2

GitPlugin Wikiで説明されているように、ブランチをプルしてマージするために GitPlugin を使用して Jenkins をインストールしました。ただし、マージが失敗した場合、失敗した理由を示す出力はありません。正しくマージされなかっただけです。

<snip>
Seen branch in repository origin/HEAD
Seen branch in repository origin/labs/intro
Seen branch in repository origin/master
Commencing build of Revision 620c4373792b8cef6a3992b6676892479ed379b0 (origin/REV_4/REV-1234)
Merging Revision 620c4373792b8cef6a3992b6676892479ed379b0 (origin/REV_4/REV-1234) onto REV_4/integration
ERROR: Branch not suitable for integration as it does not merge cleanly
[JaCoCo plugin] Collecting JaCoCo coverage data...
<snip>

この動作をローカルで複製することはできません。Git の行末設定と関係があります。

Jenkins と GitPlugin からより多くの情報を絞り出す方法を教えてください。どのファイルが失敗しているかを知ることができますか?

4

2 に答える 2

1

それについて未解決の問題があるため、おそらく方法はありません。また、少なくともソースコードを見ると、例外の詳細がどこにも記録されていません。彼らは失われました。

あなたができるいくつかのオプション:

  • 自分でブランチをマージして、それが役立つかどうかを確認してください
  • 情報をどこかに保存または出力するプラグインのフォークを作成するか、
  • リモート デバッガーを使用して Jenkins を実行し、コードのその時点でブレークポイントを設定します。

デバッガーで Jenkins を実行する手順は次のとおりです。

以下を JENKINS_JAVA_OPTIONS 変数に追加します (スペースで区切り、引用符で囲みます)。

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5678

したがって、完全な行は次のようになります。

JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -DXX:MaxPermSize=512m -DXX:+HeapDumpOnOutOfMemoryError -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=0"

必要に応じて、明らかにポートを 5678 から別のものに変更してください。

于 2013-06-18T07:36:59.213 に答える
0

git マージ後にファイルの競合がある場合、GIT プラグインはこのエラーを表示します。両方のブランチをローカルでマージしてみてください。

ここで使用できる1つの解決策は、私たち/彼らの戦略を使用してgitマージを実行することです

    git checkout master
    git merge -X ours REV-1234

これにより、競合するファイルの現在のブランチ ファイル リビジョンを保持できます。

    git checkout master
    git merge -X theirs REV-1234

これにより、競合するファイルのリモート ブランチ ファイル リビジョンを保持できます。

于 2014-05-27T13:57:36.233 に答える