Continuous integration TeamCity在生成时删除文件
我是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秒 如果上次生成失败,则启动新生成:关闭 按时间触发:未配置 此配置取决于:未配置 依赖项编辑» 快照依赖项: 不存在快照依赖项 工件依赖项: 没有工件依赖关系 属性和环境变量编辑» 系统属性:未定义 环境变量:未定义 代理要求编辑» 系统属性要求:未定义 环境变量要求:未定义Continuous integration TeamCity在生成时删除文件,continuous-integration,teamcity,Continuous Integration,Teamcity,我是TeamCity和持续整合的新手。我已经按照非常好的指南设置了一切,一开始似乎一切都正常 TC可以从SVN中检出文件,并且可以毫无问题地构建它们。但是我发现“Checkout directory”(签出目录)设置是错误的,它指向了上面的一个文件夹,因此将SVN中的所有新文件添加到了错误的位置,但仍在旧文件的基础上构建。纠正此错误后,问题开始出现 现在,每次TC进行构建时,它都会清除“签出目录”中的所有文件。问题是,并非所有需要的文件都由SVN管理,它们会被永久删除。由于并非所有必需的文件都存
签出目录不应包含您关心的任何文件
你肯定能够进行“清洁构建”,并让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。