2015-07-07 7 views
6

У меня есть проект maven, который хранится в нашем репозитории GIT. Когда я делаю выпуск этого проекта с mvn release:prepare и mvn release:perform, иногда он выходит из строя на более позднем этапе, но для этой версии создается тэг. Этот тег не удаляются с mvn release:rollback, и если я пытаюсь подготовить релиз снова терпит неудачу с этим тегом, уже существует ошибка:получить mvn release: откат для удаления тега в GIT

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.2:prepare (default-cli) on project lwl-module: Unable to tag SCM 
[ERROR] Provider message: 
[ERROR] The git-tag command failed. 
[ERROR] Command output: 
[ERROR] fatal: tag 'lwl-module-1.5.1' already exists 
[ERROR] -> [Help 1] 
[ERROR] 

Есть ли способ, чтобы получить mvn release:rollback удалить последний тег наш репозиторий GIT?

Я использую этот плагин релиз:

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-release-plugin</artifactId> 
      <version>2.5.2</version> 
     </plugin> 

ответ

3

Это в настоящее время не поддерживается Maven релиз плагина.

Смотрите здесь: http://maven.apache.org/maven-release/maven-release-plugin/examples/rollback-release.html

The created branch/tag in SCM for the release is removed. Note: This is not yet implemented so you will need to manually remove the branch/tag from your SCM. For more info see MRELEASE-229 .

билет (https://issues.apache.org/jira/browse/MRELEASE-229) был открыт в 2007 году

2

В зависимости от проблемы, которая вызвала mvn release:perfom на неудачу, вы можете просто не откатить релиз и после устранив проблему с запросом mvn release:perform напрямую, без запуска mvn release:prepare.

+1

Это хороший момент. Я делал это раньше в подобных случаях. Это может не работать все время, но в некоторых случаях это было правильное решение! – nwinkler