Continuous integration TeamCity在生成时删除文件

Continuous integration TeamCity在生成时删除文件,continuous-integration,teamcity,Continuous Integration,Teamcity,我是TeamCity和持续整合的新手。我已经按照非常好的指南设置了一切,一开始似乎一切都正常 TC可以从SVN中检出文件,并且可以毫无问题地构建它们。但是我发现“Checkout directory”(签出目录)设置是错误的,它指向了上面的一个文件夹,因此将SVN中的所有新文件添加到了错误的位置,但仍在旧文件的基础上构建。纠正此错误后,问题开始出现 现在,每次TC进行构建时,它都会清除“签出目录”中的所有文件。问题是,并非所有需要的文件都由SVN管理,它们会被永久删除。由于并非所有必需的文件都存

我是TeamCity和持续整合的新手。我已经按照非常好的指南设置了一切,一开始似乎一切都正常

TC可以从SVN中检出文件,并且可以毫无问题地构建它们。但是我发现“Checkout directory”(签出目录)设置是错误的,它指向了上面的一个文件夹,因此将SVN中的所有新文件添加到了错误的位置,但仍在旧文件的基础上构建。纠正此错误后,问题开始出现

现在,每次TC进行构建时,它都会清除“签出目录”中的所有文件。问题是,并非所有需要的文件都由SVN管理,它们会被永久删除。由于并非所有必需的文件都存在,因此构建失败

我应该怎么做才能让TC保存我的文件

TC的设置(如果有帮助):

常规设置编辑»

名称:Mavia Build

说明:无

内部版本号格式:{0},下一个内部版本号:#8

工件路径:未指定

如果出现以下情况,则生成失败:

进程退出代码不为零:打开

至少有一个测试失败:在上

生成运行程序记录了一条错误消息:关闭

它的运行时间超过:无限制

检测到内存不足或崩溃:打开

构建选项:

挂起构建检测:打开

状态小部件:关闭

同时运行的最大生成数:无限制

版本控制设置编辑»

VCS签出模式:在服务器上自动

签出目录:C:\Inetpub\wwwroot\mavia\u sip

在生成之前清除所有文件:关闭

VCS标签:禁用

附加的VCS根目录:

名称签出规则集标签

未指定mavia_sip svn否

运行者:sln2008编辑»

运行程序类型:sln2008(Microsoft Visual Studio 2008解决方案文件的运行程序)

解决方案文件路径:mavia\u sip\WebSite\mavia\u sip.sln

工作目录:与签出目录相同

目标:重建

配置:调试

解决方案平台:默认

NUnit运行平台:自动(MSIL)

NUnit跑步者:NUnit 2.2.10

从以下位置运行测试:未指定

不从运行测试:未指定

NUnit类别包括:未指定

NUnit类别排除:未指定

减少测试失败反馈时间:关闭

MSTest:已禁用

XML报表处理:已禁用

生成触发编辑»

生成配置已暂停(触发已禁用)

vcs签入触发生成:打开

安静时间:默认值,60秒

如果上次生成失败,则启动新生成:关闭

按时间触发:未配置

此配置取决于:未配置

依赖项编辑»

快照依赖项:

不存在快照依赖项

工件依赖项:

没有工件依赖关系

属性和环境变量编辑»

系统属性:未定义

环境变量:未定义

代理要求编辑»

系统属性要求:未定义

环境变量要求:未定义


签出目录不应包含您关心的任何文件


你肯定能够进行“清洁构建”,并让TeamCity删除文件夹中的所有内容

好的,我就是这样做的:

首先,我让TC签出并在站点上的一个单独文件夹中构建项目。所需的外部dll已从“bin”文件夹移动到单独的文件夹,并添加到subversion(同时更新Visual Studio中的引用)

现在TC可以毫不费力地构建该项目

其次,我在Visual Studio中创建了一个构建后脚本,如下所示:

xcopy "C:\TeamCityBuild\mavia_sip\WebSite\*" "C:\Inetpub\wwwroot\mavia_sip\WebSite\" /C /R /Y /E
if errorlevel 1 exit 0
只有当有人在没有正确文件夹结构的环境中构建项目时,才需要错误处理来避免脚本错误


到目前为止,一切都很好

问题是我们正在集成的CMS使用了所需的文件。它有很多文件,出于各种原因,我们不想将它们添加到SVN。