3

JenkinsのGitプラグインを使用しており、DouglasCreagerのget_git_versionスクリプトを使用しています。これは、git describeを使用して、Pythonモジュールの実用的なバージョンを取得します。通常、これはのようなものを作成します0.1-11-g80fe130が、jenkinsでは次のようになります。

+ git describe
fatal: No names found, cannot describe anything.

「内部タグをスキップ」を使用して独自のタグを作成しないようにプラグインを構成しました。

ジェンキンスからのプッシュに関するこの質問のようにマスターブランチの追加のチェックアウトを行うことは役に立ちません。

4

2 に答える 2

3

タグについて (「今週の Git ヒント: タグ」で説明)

注釈付きタグが見つからない場合は、出力されますfatal: No names found, cannot describe anything
describe で注釈なしのタグを使用できるようにするには、 で実行しgit describe --tagsます。
を使用してブランチに対して記述することもできますがgit describe --all、これはブランチがリモートで知られている場合にのみ意味があります。

そのため、Git プラグインが単純な git describe を実行している現在のリポジトリに、注釈付きのタグが含まれていない可能性があります (これは、ブランチのヒントのチェックアウトが問題を解決しない理由を説明しています: これは問題ではありません) DETACHED HEAD 状況)

タグを含め、レポを複製する必要があります。


実際、OP Jasper Van Den Boschは次のように報告しています。

タグを正しくプッシュしていませんでした

タグがプッシュされていないということは、Jenkins が独自のクローンを更新するときにそれらのタグを取得しないことを意味し、git describe正しく動作しないことを意味します。

于 2012-04-22T14:21:45.197 に答える
1

git describe現在チェックアウトされているものの前に履歴にタグ (できれば注釈付きのタグ) があるまで機能しません。

/tmp/repo$ git describe
fatal: No names found, cannot describe anything.
/tmp/repo$ git tag foo
/tmp/repo$ git describe
fatal: No annotated tags can describe '14d827c72b2f277a5cd3e65e7b0e0502edc58fa3'.
However, there were unannotated tags: try --tags.
/tmp/repo$ git tag -a 'annotated-tag' -m 'whatever'
/tmp/repo$ git describe
annotated-tag
于 2012-04-22T14:19:23.823 に答える