自托管代理上的多个工作区
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.
这不是问题、错误或问题。这只是我注意到并想了解更多的事情。官方文档和网上都查过了
我在 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.