是否可以将maven发布插件与特定版本一起使用?

是否可以将maven发布插件与特定版本一起使用?,maven,continuous-delivery,Maven,Continuous Delivery,我正在考虑使用SVN、Jenkins和Maven的部署管道。目前,我被困在通常会调用mvn release:perform的工作副本上 当考虑部署管道时,我想创建一个管道,在这个管道中,每个提交都可以用于发布软件以进行测试/生产。假设我有5个版本,我决定将版本3(修订版3)发布到生产环境中。已经有2个新的提交到trunk(现在是修订版5) 是否可以使用maven发布插件签出/构建/标记/提交版本3的版本?当maven发布插件完成发布时,它通常会将修改后的POM提交到trunk 我对这里的任何信息

我正在考虑使用SVN、Jenkins和Maven的部署管道。目前,我被困在通常会调用
mvn release:perform
的工作副本上

当考虑部署管道时,我想创建一个管道,在这个管道中,每个提交都可以用于发布软件以进行测试/生产。假设我有5个版本,我决定将版本3(修订版3)发布到生产环境中。已经有2个新的提交到trunk(现在是修订版5)

是否可以使用
maven发布插件
签出/构建/标记/提交版本3的版本?
当maven发布插件完成发布时,它通常会将修改后的POM提交到trunk


我对这里的任何信息或建议都很满意,所以请随意给我指点书籍(比如)、博客帖子、詹金斯文档。。。也许我完全走错了方向。

默认情况下,发布插件根据工作副本的内容创建发布,它只是确保您在创建之前没有任何未提交的内容。AFAIK不会强制更新源代码,因为这通常是持续集成系统的工作(在您的案例中是Jenkins)。所以不管詹金斯签出什么都会被释放

您试图做的听起来更像是詹金斯一侧的配置更改,将其指向正确的修订版

另一方面,如果POM文件作为发行版的一部分进行了修改,但同时在SVN中进行了更改,那么当Maven想要签入修改后的POM文件时,您将遇到冲突。这是一种可能发生的情况,这取决于您希望如何配合发布

基于此,在发布之前总是创建一个分支可能更有意义。因此,您将基于修订版3创建一个分支,然后在该分支中创建您的发行版。这样,您就不会在提交最近修订版中更改的资源时遇到问题


创建分支并将其签出可能也可以通过Jenkins和Maven实现自动化。

据我测试,这是不可能的

更明确地说,正如nwinler所说,当您发布时,maven会尝试提交修改后的pom。但是,如果是比当前版本旧的版本,SVN会抱怨您的源代码不是最新的所以它不会工作。。。。据我所知


您可以阅读有关促销构建的文档。我找不到任何一个足够清楚的地方可以指出(在写这封信的几分钟内)。

我们如何在jenkins中自动化发布过程。请仔细检查一下