2012-04-22 3 views
2

Я использую Git Plugin пользователя Jenkins и использую скрипт Douglas Creager's get_git_version. Это использует git, чтобы получить некоторую разумную версию для модулей python. Обычно это создает что-то вроде 0.1-11-g80fe130, но Дженкинс я получаю:Jenkins Git плагин: git описание не описывает ничего

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

Я настроил плагин не придумать свои собственные теги через «пропускаемых внутренних тегов».

Выполнение дополнительной проверки основной ветки, как в this question about pushing from jenkins, не помогает.

ответ

2

Что касается тегов (как описано в разделе "Git Tip of the Week: Tags")

Если нет аннотированных меток не будут найдены, то он будет печатать fatal: No names found, cannot describe anything.
Чтобы описать использование не аннотированных тегов, выполните с git describe --tags.
Это также можно получить, чтобы описать его по ветке, используя git describe --all, хотя это имеет смысл только в том случае, если ветвь известна дистанционно.

Так что возможно, что ваш текущий репо, против которого Git плагин делает простой мерзавца описать не содержит аннотированный тег (который объясняет, почему контроль наконечника ветви не решает проблему : это не о ситуации с DETACHED HEAD)

Вам нужно клонировать репо, включая теги.


На самом деле, OP Jasper Van Den Bosch отчеты:

Я не толкал теги правильно

Теги не сдвинуты, значит Дженкинс не получит эти метки при обновлении своего собственного клона , означает, что git describe не может работать должным образом.

+0

Но как я могу получить чек-код jenkins, чтобы получить теги от источника/мастера? –

+1

@ JaspervandenBosch не уверен, поддерживает ли текущий плагин это, если вы не определяете на первом этапе своих Jenkins Jobs дополнительную команду для импорта тегов из удаленного репо (по крайней мере, 'git fetch -tags', объединенный с мастером проверки git, чтобы обязательно импортировать все теги и быть на кончике ветки). – VonC

+0

'+ git checkout master Переключен на ветку 'master' + git fetch --tags' этого не делал –

0

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 
+0

спасибо. Хранилище, размещенное в github (origin/master), помечено. Так что, если я клонирую его на любом компьютере, у меня есть теги, но не на jenkins –

Смежные вопросы