从 SNAPSHOT 到 RELEASE?

Posted

技术标签:

【中文标题】从 SNAPSHOT 到 RELEASE?【英文标题】:Going from SNAPSHOT to RELEASE? 【发布时间】:2015-03-03 20:28:02 【问题描述】:

我有一个简单的问题 - 我已经构建了我的第一个 Jenkins / Maven 解决方案,并且目前已经对其进行了设置,因此它可以愉快地签出 svn 表单,部署我的代码,然后将构建的人工制品签入到 nexus。 (mvn deploy:deploy-file 和它自己的 pom) 为此,我在 pom 中使用了 1.0-SNAPSHOT 版本,因此所有内容都在快照下进入 nexus 存储库 - 我对此很满意。 测试完成后 - 我想将这些人工制品发送给 Release。

那么,推动这一进程的最佳方式是什么?

【问题讨论】:

Maven 发布插件。它有它的缺点,但我不知道更好的方法。这就是你要问的吗? 我同意。 maven-release-plugin. 【参考方案1】:

有几点:

    不要使用部署文件。一个普通的 mvn deploy 就是你想在你的项目中使用的 从纯部署的角度来看,您需要做的就是更改项目的版本,使其不以 -SNAPSHOT 结尾,并且在 distributionManagement 中定义存储库。 Maven 版本插件可以帮助进行 SCM 集成等,但这不是必需的。

您可以在Nexus book examples 中找到准备尝试的项目,eval chapter of the Nexus documentation 中有更多描述。

还有一个 good blog post with a full example 来自 Arun Gupta 和我自己的 the source code on github。

【讨论】:

Arun 博客文章的链接不再有效,但该文章仍然可用 here、here 和 here。不幸的是,这些照片都没有了。【参考方案2】:

如果您使用的是 Nexus Enterprise,则您有一个暂存区,您可以在其中将您的快照升级为 Release。如果您使用的是社区版,那么 maven-release-plugin 是您的选择,显然您可以在 Jenkins 中自动执行此操作。

【讨论】:

以上是关于从 SNAPSHOT 到 RELEASE?的主要内容,如果未能解决你的问题,请参考以下文章

snap shot是啥意思?

1146. Snapshot Array

xenserver snapshot backup根据快照名备份

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven snapshot和release版本的区别

mvn release 插件发布下一个快照不是当前版本