自托管代理上的多个工作区

Multiple workspaces on self-hosted agent

这不是问题、错误或问题。这只是我注意到并想了解更多的事情。官方文档和网上都查过了

我在 Azure DevOps 上有一个自托管代理。由于我正在进行的管道开发工作,我通常通过远程桌面连接到 VM 以及通过浏览器连接到 dev.azure.com。

在观察 dev.azure.com 中的构建时,我注意到代理使用了不同的工作 space 编号——也就是说,一开始工作 space 是 C:\vsts-agent-win-x64-2.187.2\_work,但它一直在递增 workspace ID。当我在不同的管道、分支和存储库之间来回切换时,workspace ID 会发生变化,有时会增加,有时会回到旧的。目前在 C:\vsts-agent-win-x64-2.187.2\_work.

正如我所说,这不是问题;这只是我想了解的事情。我不会 运行 出磁盘 space,代理总是知道它在哪里。然而,由于这是一个自托管代理,并且大容量存储介质的内容是持久的,我可以想象工作space 的数量会无限制地增加——而且我厌恶混乱。我是否应该在 C:\ 驱动器上进行一些整理工作,手动删除我不再需要的工作space?

C:\驱动器内容如下:

C:\vsts-agent-win-x64-2.187.2\_work>dir
 Volume in drive C is Windows
 Volume Serial Number is 6200-9B00

 Directory of C:\vsts-agent-win-x64-2.187.2\_work

09/27/2021  09:39 PM    <DIR>          .
09/27/2021  09:39 PM    <DIR>          ..
07/30/2021  05:14 PM    <DIR>          1
09/14/2021  05:09 PM    <DIR>          2
09/14/2021  09:23 PM    <DIR>          3
10/05/2021  02:21 PM    <DIR>          4
09/23/2021  02:48 PM    <DIR>          5
09/29/2021  01:48 PM    <DIR>          6
06/25/2021  07:22 PM    <DIR>          SourceRootMapping
09/22/2021  06:12 PM    <DIR>          _tasks
10/05/2021  02:22 PM    <DIR>          _temp
07/02/2021  05:13 PM    <DIR>          _tool
               0 File(s)              0 bytes
              12 Dir(s)  107,858,825,216 bytes free

由于许多版本和构建获取不同的源集,因此存储“最后一组文件”可能是有益的,以防同一个构建想要再次 运行。因此,当同一个管道连续触发两次并在同一个代理上结束时,只需要获取差异。 Depending on how well you've setup your build, you may even be able to perform an incremental build,仅根据本次构建与上一次构建之间的更改更新需要更新的文件。这可以大大加快构建速度,但会牺牲一些可预测性,并且有可能从以前的构建留下的文件中产生意外结果。

This is why you can configure for each build what to clean,什么都没有,只有构建过程中生成的工件、文件、重建工作目录甚至刷新整个存储库并重新获取所有内容。

Your agent can run a maintenance job to periodically clean up the mess it makes.