我正在使用Maven 发布插件,并尝试用我的 Jenkins 版本号标记每个版本。
我已经尝试过这个pom.xml:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<tagNameFormat>${env.BUILD_NUMBER}</tagNameFormat>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
当我调用 Maven 时,也来自 Jenkins:
mvn release:prepare -tag=${env.BUILD_NUMBER}
Run Code Online (Sandbox Code Playgroud)
但是,我得到:
Unable to tag SCM
[ERROR] Provider message:
[ERROR] The git-tag command failed.
[ERROR] Command output:
[ERROR] fatal: tag 'my-project-1.3' already exists
Run Code Online (Sandbox Code Playgroud)
我不确定1.3代表什么。
那么我如何标记发布呢?我做错了什么吗?
你的 pom 可能是 1.3-SNAPSHOT 版本
mvn release:prepare
Run Code Online (Sandbox Code Playgroud)
将版本更新为 1.3,在您的案例 my-project-1.3 中创建 git 标签“artifactid-version”,然后将 pom 中的版本设置为 1.4-SNAPSHOT 以进行下一次迭代。
要解决您的问题,请删除标签,请参阅如何删除 git 远程标签? 然后再次运行 mvn release:prepare 。
您可能需要将版本设置回 1.3-SNAPSHOT,这可以通过以下方式完成
mvn versions:set -DnewVersion=1.3-SNAPSHOT
Run Code Online (Sandbox Code Playgroud)
或者只是编辑你的pom/poms。