【问题标题】:Teamcity, prevent cleaning folders outside the checkout folderTeamcity,防止清理结帐文件夹外的文件夹
【发布时间】:2016-06-14 19:04:50
【问题描述】:

我正在使用 teamcity 9.1.with 自定义 checkout directory 在代理的工作目录中(例如 C:\BuildAgent\work\branch\rootFolder\checOutFolder ) 但我需要在父文件夹“分支”中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% 中删除不直接在结帐目录中的文件和文件夹。 谢谢。

【问题讨论】:

  • 简单地说 - 如果我在 %teamcity.agent.work.dir% 内的某处设置自定义结帐路径,并在 %teamcity.agent.work.dir% 和自定义路径之间的某处创建或复制文件和文件夹- 清除自定义文件路径以外的所有内容。

标签: svn teamcity


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-10
      • 2017-07-11
      • 1970-01-01
      • 2015-10-02
      • 2011-09-15
      • 2018-09-26
      • 2014-05-26
      • 1970-01-01
      相关资源
      最近更新 更多