Jenkins之源码管理

本文详细介绍了如何在Jenkins中配置Subversion (SVN) 的源码管理,包括设置Repository URL、凭证、本地模块目录等,并对比分析了不同的代码检出策略对工作目录的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

源码管理



以svn为例
Repository URL:填写仓库的地址
Credentials:这里需要配置拉取svn源码的用户名和密码
Local module directory:具体的项目的路径。默认从根目录拉取(即打一个点就行了“.”)

Repository depth:Jenkins在执行checkout、update代码时,所取出的代码的范围。默认我们选择infinity就可以。


Additional Credentials:增加额外认证

源码库浏览器:这里默认就可以了




Check-out Strategy:代码检出策略,svn第一次更新代码和以后同步代码的步骤和策略,选择默认Use 'svn update' as much as possible即可。
(备注:转载来自http://blog.youkuaiyun.com/russ44/article/details/52261781)

Check-out Strategy第一次build第n次build(除第一次)
Use 'svn update' as much as possible将workspace下的所有文件清空,然后从svn上check out一份完整的项目到workspace下update前不会revert
Always check out a fresh copy删除workspace下的所有文件,然后重新check out一份完整的项目到workspace下。
Emulate clean checkout by first deleting unversioned/ignored files, then 'svn update'update前先删除unversioned/ignored文件
Use 'svn update' as much as possible, with 'svn revert' before updateupdate前先revert

 各选项测试结果如下:

  • 1、Use‘svn update’ as much as possible

    • 第一次发布的时候,会把工作目录下的所有文件清空,然后check-out一份完整的项目到工作目录下;

    • 以后更新的时候,不会判断已有文件是否在svn里存在。比如工作目录下的文件123svn里不存在,那么更新的时候不会删除123

    • 不会判断工作目录下的文件是否被改动,只会判断svn是否有新版本需要更新。比如工作目录下的文件zzz.txt内容为zzzsvn上的zzz.txt内容为空,如果svnzzz.txt没有新版本,则在更新的时候不会更新zzz.txt,也就是说如果手动修改了工作目录下的文件,如果此文件在svn上没有出现新版本,就不会更新。一旦svn上的zzz.txt有新版本后就会更新工作目录的zzz.txt,这时工作目录下会生成如下几个文件:zzz.txtzzz.txt.minezzz.txt.r223zzz.txt.r224,其中zzz.txt.r223svn上老版本、zzz.txt.r224svn上新版本、zzz.txt.mine为工作目录上的zzz.txt的副本、zzz.txt记录了文件变化。

    • svn上删除了文件,更新的时候,工作目录里的此文件也会被删除。但是如上例中的zzz.txt手动修改过,已经和svn上的不一样了,这时将不会被删除。

  • 2、Alwayscheck out a fresh copy

    • 第一次发布的时候,会把工作目录下的所有文件清空,然后check-out一份完整的项目到工作目录下;

    • 每一次更新的时候,都会先清除工作目录下的所有文件,然后重新check-out一份完整的项目到工作目录下。

  • 3、Emulateclean checkout by first deleting unversioned/ignored filesthen ‘svn update’

    • 第一次发布的时候,会把工作目录下的所有文件清空,然后check-out一份完整的项目到工作目录下;

    • 以后更新的时候会判断工作目录下的文件是否在svn里存在,如果不存在则删除,如果存在且有新版本则更新。

    • 会判断工作目录下的文件是否被改动,不管有没有新版本,都会还原为svn上的最新版本。

    • svn上删除了文件,更新的时候,工作目录里的此文件也会被删除。

  • 4、Use‘svn update’ as much as possiblewith ‘svn revert’ before update

    • 第一次发布的时候,会把工作目录下的所有文件清空,然后check-out一份完整的项目到工作目录下;

    • 以后更新的时候不会判断工作目录下的文件是否在svn里存在。

    • 会判断工作目录下的文件是否被改动,不管有没有新版本,都会还原为svn上的最新版本。

    • svn上删除了文件,更新的时候,工作目录里的此文件也会被删除。



### 配置Jenkins与Git集成 #### 项目配置中的Git设置 为了使 Jenkins 正确拉取并管理来自 Git 的源码,在创建或编辑 Jenkins 作业时,需指定项目的源码库位置。这一步骤涉及提供远程仓库 URL 和认证信息。 在 Jenkins 中配置 Git 地址时,应当进入特定任务的配置页面,找到“Source Code Management”部分,选择“Git”。随后输入目标仓库的 URL[^1]。 #### 添加凭证 当遇到权限问题导致无法访问 Git 库时,应确保已正确添加了凭证。对于 HTTP(S) 协议下的仓库链接,推荐采用用户名加密码的形式;而对于 SSH 类型,则需要上传对应的私钥文件内容作为身份验证手段[^4]。 如果之前尝试过的凭据未能成功授权,可能是因为存储方式不当或是密钥格式错误等原因引起的身份验证失败。此时建议重新检查所提供的凭据是否准确无误,并确认其适用于所使用的协议类型(HTTP 或者 SSH)。另外还需留意网络环境因素可能导致的问题,比如防火墙阻止请求等外部干扰[^3]。 #### 测试连接 完成上述配置之后,可以通过点击界面上提供的测试按钮来检验当前设定能否顺利获取到远端分支的信息。一旦发现任何异常提示,都应及时调整直至能够正常通信为止[^2]。 ```bash # 这是一个简单的Shell脚本例子,用于展示如何将HTML文件部署到Tomcat服务器上 cp /path/to/source/index.html $CATALINA_HOME/webapps/jenkins/ mv $CATALINA_HOME/webapps/jenkins/index.html $CATALINA_HOME/webapps/jenkins/jenkins.html ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值