TeamCity删除构建文件

时间:2009-06-02 22:34:44

标签: continuous-integration teamcity

我是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

     

按时间触发:未配置

     

此配置取决于:未配置

     

依赖关系编辑»

     

快照依赖项:

     

没有快照依赖项。

     

工件依赖项:

     

没有工件依赖项。

     

属性和环境变量编辑»

     

系统属性:未定义

     

环境变量:未定义

     

代理商要求编辑»

     

系统属性要求:未定义

     

环境变量的要求:未定义

2 个答案:

答案 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删除文件夹中的所有内容。