我是TeamCity和持续集成的新手。我已经按照this非常好的指南来设置所有内容,这一切似乎都起作用了。
TC可以检查SVN中的文件,它可以毫无问题地构建它们。但是我发现'Checkout目录'的设置是错误的,它指出一个文件夹在它应该的位置,因此从SVN添加所有新文件在错误的地方,但仍然建立在旧的文件上。纠正后,问题就开始了。
现在,每次TC进行构建时,它都会清除“Checkout目录”中的所有文件,问题是并非所有需要的文件都由SVN管理,并且它们将永久删除。由于并非所有必需的文件都存在,因此构建失败。
如何让TC保存我的文件?
TC的设置,如果有帮助的话:
常规设置编辑»
名称:Mavia Build
描述:无
内部版本号格式:{0},下一个内部版本号:#8
工件路径:未指定
在以下情况下构建失败:
进程退出代码不为零:ON
至少一次测试失败:开启
构建运行程序记录错误消息:OFF
它的运行时间超过:无限制
检测到内存不足或崩溃:开启
构建选项:
悬挂构建检测:开启
状态小部件:关闭
同时运行的版本的最大数量:无限
版本控制设置编辑»
VCS结帐模式:在服务器上自动
结帐目录:C:\ Inetpub \ wwwroot \ mavia_sip
在构建之前清除所有文件:OFF
VCS标签:已停用
附加的VCS根源:
名称结帐规则设置标签
mavia_sip svn未指定NO
亚军:sln2008编辑»
跑步者类型:sln2008(Microsoft Visual Studio 2008解决方案文件的跑步者)
解决方案文件路径:mavia_sip \ WebSite \ mavia_sip.sln
工作目录:与结帐目录相同
目标:重建
配置:调试
解决方案平台:默认
NUnit Run platform:auto(MSIL)
NUnit runner:NUnit 2.2.10
运行测试:无指定
不要运行测试:无指定
NUnit类别包括:none specified
NUnit类别排除:无指定
减少测试失败反馈时间:OFF
MSTest:已停用
XML报告处理:已禁用
构建触发编辑»
暂停构建配置(触发禁用)。
通过vcs签入触发构建:开启
安静时段:默认,60秒
如果上次构建失败,则启动新构建:OFF
按时间触发:未配置
此配置取决于:未配置
依赖关系编辑»
快照依赖项:
没有快照依赖项。
工件依赖项:
没有工件依赖项。
属性和环境变量编辑»
系统属性:未定义
环境变量:未定义
代理商要求编辑»
系统属性要求:未定义
环境变量的要求:未定义
答案 0 :(得分:4)
好的,我就这样做了:
首先,我让TC检查并在网站上的单独文件夹中构建项目。需要的外部dll从'bin'文件夹移动到单独的文件夹并添加到subversion(也更新Visual Studio中的参考)。
现在TC可以毫不费力地建立项目。
其次,我在Visual Studio中创建了一个Post Build脚本,如下所示:
xcopy "C:\TeamCityBuild\mavia_sip\WebSite\*" "C:\Inetpub\wwwroot\mavia_sip\WebSite\" /C /R /Y /E
if errorlevel 1 exit 0
只有在有人在没有正确文件夹结构的环境中构建项目时,才需要进行错误处理以避免脚本错误。
到目前为止,每件事都很有效!
答案 1 :(得分:3)
结帐目录不应包含您关注的任何文件!
你绝对应该能够做“干净的构建”,让TeamCity删除文件夹中的所有内容。