4

我是 TeamCity 和持续集成的新手。我已经按照这个非常好的指南进行了设置,一开始似乎一切正常。

TC 可以检查来自 SVN 的文件,并且可以毫无问题地构建它们。但是我发现“结帐目录”设置是错误的,它指向了一个文件夹上方应该在的位置,因此将所有来自 SVN 的新文件添加到错误的位置,但仍然建立在旧文件的基础上。纠正此问题后,问题开始了。

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

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

来自 TC 的设置是否有帮助:

常规设置编辑 »

名称: Mavia Build

说明:无

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

工件路径:未指定

如果出现以下情况,则构建失败:

进程退出代码不为零:ON

至少一项测试失败:开

构建运行器记录了一条错误消息:OFF

它的运行时间超过:没有限制

检测到内存不足或崩溃:ON

构建选项:

悬挂构建检测:ON

状态小部件:关闭

同时运行构建的最大数量:无限制

版本控制设置编辑 »

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 运行平台:auto(MSIL)

NUnit 跑步者:NUnit 2.2.10

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

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

NUnit 类别包括:未指定

NUnit 类别排除:未指定

减少测试失败反馈时间:OFF

MSTest:禁用

XML 报告处理:禁用

构建触发编辑 »

构建配置已暂停(触发已禁用)。

通过 vcs 签入触发构建:ON

静默期:默认,60 秒

如果上次构建失败,则开始新构建:关闭

按时间触发:未配置

此配置取决于:未配置

依赖编辑 »

快照依赖:

没有快照依赖项。

工件依赖项:

没有工件依赖项。

属性和环境变量编辑 »

系统属性:未定义

环境变量:未定义

代理要求编辑 »

系统属性要求:未定义

环境变量要求:未定义

4

2 回答 2

4

好的,这就是我的做法:

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

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

其次,我在 Visual Studio 中创建了一个 Post Build Script,如下所示:

xcopy "C:\TeamCityBuild\mavia_sip\WebSite\*" "C:\Inetpub\wwwroot\mavia_sip\WebSite\" /C /R /Y /E
if errorlevel 1 exit 0

只有当有人在没有正确文件夹结构的环境中构建项目时,才需要进行错误处理以避免脚本错误。

到目前为止,一切都很好!

于 2009-06-04T21:05:14.643 回答
3

结帐目录不应包含您关心的任何文件!

您绝对应该能够进行“干净构建”,并让 TeamCity 删除文件夹中的所有内容。

于 2009-06-02T22:42:49.367 回答