3

Git リポジトリに保存されている Java プロジェクトの Maven ビルドを実行しています。リリース プランが (Bamboo を使用して) ビルド サーバーで実行されると、次の git コマンドが発行されます。

git log -n1 --date-order master

しかし、次のエラーが表示されます。

fatal: ambiguous argument 'master': unknown revision or path not in the working tree.

もちろん、私には master ブランチがあり、レポをプルダウンしてローカルでコマンドを実行すると、正常に動作します。私の推測では、ビルド サーバーには異なる構成があると思われますが、何を探すべきか途方に暮れています。git の専門家の 1 人が何らかの洞察を得られることを願っています。

参考までに、Maven ビルドから取得した実際のエラー ログを次に示します。buildnumber-maven-plugin の実行中に発生します。

build   19-Aug-2015 15:10:28    [INFO] [INFO] --- buildnumber-maven-plugin:1.2:create (default) @ my-rest-project ---
build   19-Aug-2015 15:10:28    [INFO] [INFO] Verifying there are no local modifications ...
build   19-Aug-2015 15:10:28    [INFO] [INFO] Executing: /bin/sh -c cd /usr/local/atlassian/bamboo-home/xml-data/build-dir/MKL-RR-JOB1/target/checkout && git status --porcelain
build   19-Aug-2015 15:10:28    [INFO] [INFO] Working directory: /usr/local/atlassian/bamboo-home/xml-data/build-dir/MKL-RR-JOB1/target/checkout
build   19-Aug-2015 15:10:28    [INFO] [INFO] Executing: /bin/sh -c cd /usr/local/atlassian/bamboo-home/xml-data/build-dir/MKL-RR-JOB1/target/checkout && git log -n1 --date-order master
build   19-Aug-2015 15:10:28    [INFO] [INFO] Working directory: /usr/local/atlassian/bamboo-home/xml-data/build-dir/MKL-RR-JOB1/target/checkout
build   19-Aug-2015 15:10:28    [INFO] [ERROR] Provider message:
build   19-Aug-2015 15:10:28    [INFO] [ERROR] The git-log command failed.
build   19-Aug-2015 15:10:28    [INFO] [ERROR] Command output:
build   19-Aug-2015 15:10:28    [INFO] [ERROR] fatal: ambiguous argument 'master': unknown revision or path not in the working tree.
build   19-Aug-2015 15:10:28    [INFO] Use '--' to separate paths from revisions, like this:
build   19-Aug-2015 15:10:28    [INFO] 'git <command> [<revision>...] -- [<file>...]'
4

3 に答える 3

2

maven-release-plugin 2.2 以前を実行している場合に機能します。

リリース プラグインのバージョンが 2.3 ~ 2.5 の場合、maven-release-plugin と maven-buildnumber-plugin の間に何らかの競合があることが判明しました (この記事の執筆時点では 2.5 が最新です)。

エラーの原因が正確にはわかりませんが、これらのバージョンで release-plugin が追加の git コマンドを実行していることをログが示しており、その直後に実行される buildnumber プラグインが失敗します。

具体的にはgit ls-remote ssh://git@reponame.git、他のすべての git コマンドが実行されるディレクトリではなく、一時ディレクトリで実行および実行されます。それが Maven の不具合なのか、Bamboo の不具合なのかはわかりません。いずれにせよ、私は今それを回避する方法を知っています。

更新: maven-release-plugin を 2.5 にアップグレードせざるを得ない別の Bamboo/maven-release/git の問題に遭遇した後、これらすべてを回避する唯一の方法は buildnumber プラグインを削除することであると判断しました。最終的に問題を引き起こしたのは buildnumber プラグインであり、結局、ワークフローにとって重要ではありませんでした。

于 2015-09-17T21:50:30.670 に答える