Jenkins 签出SVN指定版本号
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins 签出SVN指定版本号相关的知识,希望对你有一定的参考价值。
今天去Jenkins 上配置SVN,想签出指定的版本号进行打包,该如何去做呢?
比如现在版本号: 5000 ,我想签出版本号:4988打包,该如何去做?
有一个方法就是在构建的项目里边 SVN 的URL后边添加 @4988,但是每次都得改,挺麻烦的,这个该怎么去做?
将 maven 项目集成到 svn 版本的 jenkins 中
【中文标题】将 maven 项目集成到 svn 版本的 jenkins 中【英文标题】:Integrate maven project into jenkins which is versioned with svn 【发布时间】:2014-02-10 21:36:03 【问题描述】:我刚刚安装了 jenkins,并希望在我的项目中用作基于 linux 的服务器上的构建工具。我以前对詹金斯没有任何经验。到目前为止,我管理的是创建一个简单的 maven 项目,从 svn 签出我的源代码并构建它。 jenkins 将我的项目检出到它的默认工作区中,我想要自定义并将源代码管理移到 pom.xml 中。
我想将 svn 存储库 url 和 checkout 目录放入 pom.xml 中,这应该只与我的服务器(linux 机器)相关。在所有其他环境中,我想手动管理结帐和构建。 (或来自 Eclipse)我可以为此使用 Maven 配置文件吗?如果您从头顶知道,请给我一个示例,使用什么 maven 插件,如何对其进行分析,以及如何强制詹金斯使用该配置文件(以及所有环境都忽略 pom.xml 的这一部分)。 xml)
我对这些东西真的很陌生,因此我非常感谢任何帮助。谢谢大家!
【问题讨论】:
【参考方案1】:你做错了。正好相反。
-
您的项目应始终使用
mvn install
构建。如果您没有充分的理由使用个人资料,请不要使用。
每个开发人员都可以通过从 svn 签出项目并运行 mvn install
来构建项目。他/她应该能够使用他/她选择的目录和 IDE。
对于 Eclipse/NetBeans/IntelliJ,有一些插件只导入 Maven 项目。
在 Jenkins 中创建一个 Maven 作业(我猜 Mavne 插件与标准包一起分发)。对于一个工作,你设置一个 SVN 源 URL 并让他运行mvn install
。在 CI 服务器上设置mvn clean install
是一个很好的做法。
为什么需要更改存储库 url 和目录?它不是 POM 的一部分。
【讨论】:
我更改结帐目录的原因是,在基于 linux 的服务器上,我想使用与基于 Windows 的开发环境完全不同的路径。这就是我可能使用配置文件的原因。在詹金斯中,如果我设置 SVN 源 URL 和本地模块目录,我可以只设置工作区根目录的相对路径。 (指定签出此模块的本地目录(相对于工作区根目录)。-来自詹金斯)我真的很想在 /projects/..../ 中有签出的项目 为什么需要项目知道工作区根目录?您不应访问项目目录之外的任何内容。任何外部的东西都应该是一个依赖项。当然,您可以使用配置文件并设置配置文件动作来检查操作系统的类型(Win/Linux),但这绝对是错误的方式。如果源目录在 pom.xml 中变得重要,则意味着您做错了。以上是关于Jenkins 签出SVN指定版本号的主要内容,如果未能解决你的问题,请参考以下文章