Jenkins检出SVN仓库时子目录均生成.svn文件夹,如何仅根目录保留?
解决Jenkins SVN插件检出时子目录生成.svn的问题
1. 升级服务器SVN客户端版本
SVN 1.7及以后的工作副本格式默认只在根目录保留一个.svn文件夹,子目录不会生成该文件。先确认Jenkins所在服务器的SVN版本:
- 执行命令:
svn --version - 如果版本低于1.7,直接升级对应系统的SVN客户端(比如Debian/Ubuntu用
sudo apt-get install --only-upgrade subversion,RHEL/CentOS用sudo yum update subversion)
2. 配置SVN插件强制使用新版工作副本格式
在Jenkins全局配置里指定SVN使用1.7+格式:
- 进入「Manage Jenkins > Global Tool Configuration」
- 找到「Subversion」配置块,编辑已有的SVN安装项
- 在「Additional command line arguments」中添加:
--config-option config:working-copy-format=1.7 - 保存配置后,重新触发构建
3. 改用SVN导出模式(无需版本控制信息时)
如果构建不需要保留SVN版本信息,直接用导出替代检出:
- 打开Jenkins任务的「源码管理」配置页,选择Subversion后点击「Advanced」
- 勾选「Export instead of checkout」选项
- 保存后,构建会导出无
.svn的干净代码
4. 清理旧工作副本
修改配置后必须清理旧工作副本,避免残留旧格式文件:
- 进入任务页面,点击「Workspace > Delete workspace」
- 重新触发构建,确保生成新格式的工作副本
内容的提问来源于stack exchange,提问作者Romczyk
相关产品推荐
相关产品推荐

