如何让TeamCity使用SVN Export而非SVN Checkout?
如何让TeamCity执行SVN Export而非Checkout
嘿,我之前也因为SVN Checkout太慢折腾过这个问题!确实TeamCity自带的VCS检出模式里没有直接的Export选项,但我们可以通过关闭自动检出+自定义构建脚本的方式搞定,完美适配你要提速的需求。
具体操作步骤:
先关掉TeamCity的自动检出
- 打开你的构建配置,找到「VCS设置」页面
- 在「VCS检出模式」里选
Do not checkout files automatically - 这一步就是告诉TeamCity:“别自己瞎搞checkout了,代码我自己来拿”
加个自定义构建步骤跑SVN Export
- 切换到「构建步骤」,点「添加构建步骤」
- 选「命令行」类型,然后在「运行」里挑「自定义脚本」
- 在脚本框里写SVN Export的命令就行,参考格式:
svn export --force <你的SVN仓库地址> %teamcity.build.workingDir%--force是用来覆盖已经存在的文件,避免因为目录有旧文件报错%teamcity.build.workingDir%是TeamCity的内置参数,直接指向构建的工作目录,后续构建步骤就能直接用导出的代码了
额外小技巧:
- 如果你的SVN仓库需要账号密码,只要你已经在TeamCity的VCS根里配置过凭据,命令行执行时会自动用这些凭据,不用再手动输
- 要是想导出特定版本的代码,可以加
-r参数,比如用TeamCity的内置版本号参数:
这样导出的代码版本就和触发构建的版本完全一致,不会出错svn export --force -r %build.vcs.number% <你的SVN仓库地址> %teamcity.build.workingDir%
这么配置之后,TeamCity就会跳过慢腾腾的Checkout,直接跑Export,速度快不少——毕竟Export不会生成那些占空间又费时间的.svn元数据文件夹。
内容的提问来源于stack exchange,提问作者AlexW
相关产品推荐
相关产品推荐

