我使用 Jenkins、Git 和 Maven 作为我的开发过程的一部分。我有两个分支 develop
和 master
。像往常一样,我在开发中进行开发,测试它并将其 merge 到 master 以便发布 jar。
我正在使用 Jenkins 将我的快照/发布 jar 部署到我们的 Nexus 存储库。当我部署/发布发布 jar(没有 -SNAPSHOT
)时,我想在我的 GitHub 存储库中创建一个发布标签,而我想在部署快照时避免这种情况。
我浏览了 http://www.dev9.com/article/2014/9/java-release-process-with-continuous-delivery 上的帖子和 https://axelfontaine.com/blog/final-nail.html以获得一些想法。
我的问题如下:
- 我需要为我的开发分支和主分支保留两个不同的 Jenkins 作业吗? master 的配置将使用
maven-scm-plugin
和maven-version-plugin
来创建标签。 - 我需要从 master 分支的
pom.xml
版本中删除-SNAPSHOT
吗?我知道 scm 插件会在创建标签时删除这些内容,但我想 Maven 会使用-SNAPSHOT
发布/部署 jar?在为主分支运行 Jenkins 作业时,我想部署1.0.0.jar
而不是1.0.0-SNAPSHOT
。
最佳答案
基本上你需要以下插件:http://maven.apache.org/maven-release/maven-release-plugin/
该插件执行以下操作:
- 删除
-SNAPSHOT
,然后提交 - 在 Git 中标记版本,提交
- 增加版本号并添加
-SNAPSHOT
,提交 - push 这些更改
关于git - 使用 Maven/Jenkins/Git 创建发布标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35808923/