繁体   English   中英

处理Java Web应用程序版本控制的最佳方法是什么?

[英]What is the best way to handle Java web application versioning?

我有一个标准的Java应用程序,可以处理REST和UI调用。 我创建和管理应用程序版本(major.minor.release.build)的最佳方式是什么? 我在堆栈中使用Subversion,Maven,Bamboo(连续构建)和Spring。 我希望这个版本与SVN,Bamboo和Maven捆绑在一起。 并且,希望能够在启动时记录版本 - 可能使用一些Spring bean。

必须有一个框架/模式来帮助解决这个问题。 我宁愿不自己动手。

谢谢!

为什么不使用语义版本控制 这是大多数人现在所期望的,它定义得很好,而且它就在那里。 对我来说足够好了。

Maven有一个发布插件。 这是首先设置的熊,但一旦它正常工作它运作良好。 它确保了所有细节,确保所有内容都经过彻底检查,正确标记,以及版本号的魔力。 这不是一个值得期待的问题,但至少现在已经做好了。 设置一些maven存储库是值得的。 我们使用Nexus并且可以推荐,但我也听到了很多神秘的东西。

在测试过程中,我们不会过多依赖maven版本,而是依赖于构建号,我们将它放在网页和类似工件上的一个独立位置,这样我们就可以快速确定我们正在谈论的确切构建。 我们使用hudson在环境变量中提供内部版本号,但Bamboo也必须提供。 过滤器复制功能使其非常简单。

Hudson标记了VCS(我们使用git,但这没关系),内部版本号和maven发布插件标记了版本。

您可以使用maven build-number插件( http://mojo.codehaus.org/buildnumber-maven-plugin/ )在工件中包含SCM修订号,例如在过滤后的资源中,例如属性文件。

如果您使用Artifactory作为二进制仓库,那么它还可以使用内部版本号标记二进制工件,并具有从工件到创建它的CI服务器构建的完全可跟踪性。 目前, Hudson,TeamCity和Bamboo支持此功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM