では動作しない記述、我々はこのようないくつかのタグを持っている:接頭辞gitの--matchは私たちのBitbucketではチームシティー
build-0.0.4.152
0.0.4
build-0.0.3.151
build-0.0.3.150
0.0.3
すべてのタグ「ビルドを」中間プレリリースビルドからどこタグなしプレフィックスは、本番環境でリリースされたバージョンです。ビルドが正しいタグを取得することができ、IntelliJの上
ローカルdef getVersionFromTag() {
def stdout = new ByteArrayOutputStream()
exec {
commandLine 'git', 'describe', '--abbrev=0', '--match="[!build]*"'
standardOutput = stdout
}
return stdout.toString().trim()
}
:私は、VCSのルート(ので、この場合には、私はタグ0.0.4
を得ることを期待)から最新の生産タグを取得するにはGradleの方法を持っています。しかしチームシティーで、それが示し、ここでビルド・ログのエラー:私は上記の方法では、コマンドラインから引数'--match="[!build]*"'
を削除した場合
fatal: No names found, cannot describe anything.
が、それは動作しますが、それは最新のタグを取得します(ビルド0.0 .4.152ですが、私が望むものはありません0.0.4)。だから私は、TeamCityのgitバージョンではその引数が利用できないが、それは自分のgit(2.6.3.windows.1)で利用可能であると考えています、それは本当ですか?
私が間違っている場合は私を修正し、これを回避する方法を教えてください。
を働く、二重引用符を削除していただきありがとうございます。 'git describe --match =" [!build] * "は、最初の文字が' b'、 'u'、' i'、 'l'または' d'でない最新の注釈付きタグを見つけることを意味します。おそらく 'git describe --abbrev = 0 --match =" build - * "'を使って最新のタグを取得し、それを解析して '0.0.4 'を得るかもしれません。 – ElpieKay