我对jenkings有以下理解 -
了解 :我们指定SVN位置和构建目标,jenkings构建war文件。
所以,我的 假设 :Jenkings从SVN获取最新版本并构建它。
问题 :他们是否可以指定" SVN版本"到jenkings,创建一个修订版本,而不是SVN中的最新代码?
答案 0 :(得分:3)
您可以将@ 33333添加到SVN位置的SVN_URL。
http://svn/repository@revision_number
@See:http://www.supportmyidea.com/2014/02/10/how-to-build-a-specific-svn-revision-in-hudsonjenkins/
答案 1 :(得分:2)
像Jenkins这样的持续集成工具的目的是构建和测试每一个变化。也就是说,只要有人检查更改,Jenkins就会尝试构建它,并针对该更改运行单元测试。在Java中,这通常可以在几分钟内完成。代码中的错误几乎可以在发生后立即被检测和纠正。并且,在开发过程中修复的错误越早,修复就越容易和便宜。
许多人担心这么多版本会占用大量空间。但是,Jenkins通常使用单个工作目录来编译文件,如果从构建中保存工件,则可以按天或构建数量指定,要保留多少。您也可以完全删除旧版本。
但是,有充分的理由能够指定特定的修订版本。我们进行持续集成,但只保存大多数项目的最后五个版本。有时,有人会认为Build#70是他们想要投入生产的构建,但是该构建的工件已被删除。
我们使用Build with Parameters Plugin。我为 Revision 创建了一个参数,然后将其默认值设置为HEAD
。项目的URL以@${REV}
结束。提交完成后,Jenkins会使用HEAD
进行常规自动构建。但是,我可以启动参数化构建,并选择我想要构建的修订版。
我们还使用Description Setter Plugin,因此不是来自HEAD
的构建具有说明所使用修订的说明。
答案 2 :(得分:1)
您可以使用Subversion Release Manager插件显示修订列表,并允许您选择一个进行修改。