【发布时间】:2018-01-31 15:33:46
【问题描述】:
我有一个在 Windows 服务器上运行的 teamcity 安装
我有一个构建过程,即构建一个 .net 应用程序。作为构建过程的一部分,它正在运行 gulp 任务,并正在安装各种节点模块以构建所有 sass 和 js 文件。
在我的 teamcity 解决方案中,我的“一切”清理规则比第 4 次成功构建更旧
但是 teamcity 似乎并没有清理所有内容,因为我的 artifacts 文件夹很大(并且导致服务器磁盘空间不足)
现在我认为问题是因为其中一项 gulp 任务和所有 node_modules 正在安装。因为嵌套节点如何安装所有东西。
在 Windows 机器上,在大多数情况下,您不能只删除 node_modules 文件夹,因为路径超过 256 个字符的警告,您必须使用 robocopy 技巧在空文件夹中复制来删除 node_modules 文件夹
其他人做了什么来解决这个工件没有被正确清理的问题?
我正在考虑另一个步骤,即在处理 gulp 任务的步骤之后从工件文件夹中删除 node_modules 文件夹,但是一旦指向当前构建的工件文件夹,我就无法在 teamcity 参数列表中看到。
【问题讨论】:
-
您考虑过使用 Swabra 构建功能吗?
-
目前还不清楚问题是否在于 TeamCity 清理而不是尝试删除构建(我已经在我的回答中解决了这个问题),尝试但未能删除工件(teamcity-server.日志应该有错误),或者代理机器上堆积的文件(在这种情况下,由您的构建来删除文件)。顺便说一句,最好将档案作为工件发布,而不是单独发布多个文件 - 这种方式更快且通常更容易使用。
标签: teamcity node-modules teamcity-9.0