2010-04-28 3 views
6

При использовании плагина maven-release-плагина с Git, выпуск mvn: подготовка счастливо отмечает выпуск в локальном репозитории. Я бы ожидал mvn release: выполнить, чтобы нажимать теги на удаленный репозиторий, но это не кажется.Добавляет ли maven-release-плагин теги в удаленный репозиторий Git?

Я ошибаюсь?

Если нет, есть ли возможность включить push-релиз в удаленный репозиторий?

+0

Предоставляет ли ваш сервер Git разрешение на нажатие тега? На сервере Gerrit мне понадобилось разрешение «Forge Committer», когда пользовательский интерфейс Jenkins отличался от идентификатора пользователя, который использовался для нажатия. – Andre

+0

Интересный вопрос, но 5 лет я не могу вспомнить! – Armand

ответ

6

Для меня release-prepare, кажется, толкая три раза:

  1. После совершения POM обновлен до новой версии, она работает git push без аргументов, чтобы толкать, что совершить.
  2. После маркировки он работает git push origin <tagname>, что и должно выталкивать тег.
  3. После того, как POM обновлен до новой версии моментального снимка, он запускает git push без лишних аргументов.

Учитывая, что это явное указанием origin для тега толчка, он может только успешно передавать тег, если ваш ГИТ-удаленного псевдоним на самом деле называется origin. Чтобы узнать, что вы назвали, запустите git remote -v.

Обратите внимание, что git push без аргументов может по умолчанию отличаться от origin, в зависимости от конфигурации вашего репозитория - т. Е. Возможно, он пытался нажимать на одно место и теги на другой. См. Здесь, где эти значения по умолчанию взяты из: http://www.kernel.org/pub/software/scm/git/docs/git-push.html#REMOTES

+1

Спасибо за подробный ответ. Такое поведение кажется непоследовательным и бесполезным для меня. Я что-то упускаю? – Armand

+3

Я согласен, что он не должен нажимать во время 'relese: prepare'. Что случилось со мной, так это то, что 'release: подготовить' работал нормально, но« release: выполнить »не удалось, потому что« scm »eddres в pom-файле были неправильными. Поэтому я фактически пометил сборку сломанным 'pom.xml'. ИМО, учитывая распределенный характер git, было бы более целесообразно продвигаться в самом конце этого процесса. Я ошибаюсь? –

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