Teamcity,防止清理结帐文件夹外的文件夹

时间:2016-06-05 13:13:41

标签: svn teamcity

我正在使用teamcity 9.1.with custom checkout directory  在代理的工作目录中(例如C:\BuildAgent\work\branch\rootFolder\checOutFolder) 但我需要在父文件夹'branch'中create few folders

它们已成功创建,但在代理程序的构建配置结束时已删除。 同样在teamcity-agent.log中我发现:

[2016-06-05 14:44:35,776]   INFO - rectories.DirectoryCleanerImpl - Won't delete C:\BuildAgent\work\branch\rootFolder\checOutFolder
[2016-06-05 14:44:35,776]   INFO - ies.DirectoryMapUnknownCleaner - Checking not listed in directory.map folder C:\BuildAgent\work\branch\JClassSCC. 
[2016-06-05 14:44:35,778]   INFO - rectories.DirectoryCleanerImpl - Move directory C:\BuildAgent\work\JClassSCC to C:\BuildAgent\work\.old\JClassSCC_0 for cleaning 
[2016-06-05 14:44:35,778]   INFO - l.directories.DirectoryMapImpl - Cleaning up old checkout directories. Default lifetime = 192 hour(s) 

如何防止从%teamcity.agent.work.dir%删除不直接在结帐目录中的文件和文件夹。 感谢名单。

2 个答案:

答案 0 :(得分:1)

通过将“branch”文件夹设置为自定义结帐路径来解决问题。并添加结帐规则:+:。 => rootFolder / checOutFolder。在这种情况下,“分支”中的所有内容都会保留。

答案 1 :(得分:0)

TeamCity代理假定对其“work”目录拥有所有权,因此在那里创建子目录不是一个好主意。

您可以在代理的工作之外指定自定义结帐目录(在与TeamCity代理完全无关的目录中)。这样,TeamCity代理只会修改目录本身的内容。显然,您需要从脚本/手动管理目录(例如,在不再需要时删除)。

实际上,将数据存储在计算机上并使用跨越构建的数据是一种糟糕的模式。您将需要解决一致性,目录清理等问题,更不用说您永远无法确定构建期间的状态文件是什么。强烈建议您重新编写构建过程,以从版本控制中检出文件或下载为其他版本的工件。

相关问题