其中一位开发人员正在将补丁应用到 CI 并且破坏了 CI 构建。错误发生在构建日志中,如下所示。我已完成以下步骤,但仍然无法正常工作。
- 我无法手动删除文件夹:35b0f615bcea75bd,尽管我对构建代理目录具有完全写入和删除权限。
- 我已尝试运行 Enforce clean checkout,但仍然不起作用。
- 重新运行构建,仍然无法正常工作。
问题:
- 手动删除此文件是修复以下错误的最佳解决方案吗?
- 如果答案是"is",接下来我应该尝试什么来删除这个文件?
- 在应用补丁时防止此错误再次发生的最佳方法是什么?
构建日志:
[18:32:28]Checking for changes
[18:35:15]Publishing internal artifacts
[18:35:15]Clearing temporary directory: D:\TeamCity\buildAgent\temp\buildTmp
[18:35:15]Checkout directory: D:\TeamCity\buildAgent\work\35b0f615bcea75bd
[18:35:15]Updating sources: server side checkout (2m:09s)
[18:35:16][Updating sources] Will perform clean checkout. Reason: Agent doesn't have any version of the project sources
[18:35:16][Updating sources] Building clean patch for VCS root: ProjectName Trunk
[18:37:24][Updating sources] Transferring cached clean patch for VCS root: ProjectName Trunk
[18:37:25][Updating sources] Repository sources transferred: 27.61Mb total
[18:37:25][Updating sources] Removing D:\TeamCity\buildAgent\work\35b0f615bcea75bd
[18:37:25][Updating sources] Error while applying patch: Failed to delete: D:\TeamCity\buildAgent\work\35b0f615bcea75bd\ProjectName\bin\Debug
[18:37:25]Publishing internal artifacts
[18:37:25]Build failed to start. Artifacts will not be published for this build
[18:37:26]Build finished
最佳答案
我们在运行 Selenium 测试时遇到过这个问题,浏览器没有正常关闭。我们实际上创建了一个 powershell 脚本,我们在我们的任何代理上作为构建执行,它将杀死任何未完成的 IE 或 Firefox 或 Chrome 进程。我们还确保我们的测试始终在拆卸时关闭浏览器。
如果您有足够的权限,您可以从 TeamCity Web 界面远程重启构建代理。您可以通过单击顶部的“代理”选项卡,选择有问题的代理,然后选择“重新启动代理机器”来完成此操作。您可以在 TeamCity documentation 中阅读更多内容.
关于c# - Teamcity v7.0.2 - 打补丁时checkout目录文件无法删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13041430/