首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VSTS Hosted Agent,磁盘空间不足

VSTS Hosted Agent,磁盘空间不足
EN

Stack Overflow用户
提问于 2017-09-10 21:41:53
回答 3查看 9.3K关注 0票数 7

我无法使用托管代理(VS 2017)构建VSTS,出现错误:

System.IO.IOException:磁盘空间不足

我尝试在Build,Repository definition上将"Clean“选项设置为true,但没有解决这个问题。我没有将这个选项设置为true,我认为这导致了目前的情况。

还安装了VSTS扩展“清理代理目录”,并添加为构建过程的最后一步,但也没有解决该问题。

是否有一个选项可以让我解决此问题并继续使用托管生成代理?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-09-10 23:19:39

Hosted agents offer 10 GB of space。您声明您的整个解决方案文件夹是2.6 GB。根据各种因素,您的构建输出通常在该大小的2倍范围内,如果不是更大的话。

如果你是一个Git用户,这整个被克隆的存储库可能也比2.6 GB大得多--克隆存储库不仅会减少代码的当前工作副本,还会减少所有的历史记录。

您可以通过在存储库设置的高级选项下启用Shallow fetch来控制克隆深度(例如,下拉了多少历史记录)。

如果你是一个TFVC用户,你可以检查你的工作区映射,以确保只有相关的源代码被拉下。

您可能处于这样一种情况: 10 GB的内存根本不足以满足您的需求。如果2.6 GB纯粹是代码,并且不包含二进制资产(图像、PDF、视频文件等),那么您可能希望开始模块化您的应用程序,以便可以构建和独立部署较小的部分。如果2.6 GB包含大量二进制资产,您可能希望将静态内容(图像等)从源代码中分离出来,并设计一个单独的静态内容部署过程。

票数 7
EN

Stack Overflow用户

发布于 2019-05-22 21:32:17

根据Microsoft's documentation的说法,

(微软托管的代理)为您的源和构建输出提供至少10 GB的存储

因此,如果你得到“没有足够的磁盘空间错误”,这可能意味着你的源代码(文件,repos,分支,等等),占用的磁盘空间量,以及你的构建输出(构建过程产生的文件)超过了你的DevOps计划提供的10 GB的存储空间。

当得到这个错误时,我不得不删除一个旧的git代码库和一个旧的git分支,获得了17MB的可用空间,这足以让我的构建过程进行处理。因此,在我的例子中,空间被源代码占用了。这很可能是构建生成的文件太多或太大。也就是说,您只需要找出这两个中的哪一个是导致您的磁盘空间不足的原因,并努力释放它。

票数 2
EN

Stack Overflow用户

发布于 2021-11-16 14:58:27

有一个技巧可以通过删除缓存的docker图像来释放代理空间(当然,如果您不需要它们的话)。对于Microsoft hosted agent,有一个预先配置的docker映像列表。This SO answer描述了在哪里可以找到不同镜像/缓存的容器镜像上的文档。

这就像向cleanup the cached images添加一个额外的命令任务一样简单。对于Linux / Ubuntu:

代码语言:javascript
复制
steps:
- script: |
  df -h
- script: |
    docker rmi -f $(docker images -aq)
- script: |
    df -h

df (无磁盘空间)命令显示节省了多少空间。这可能会释放另外5 5Gb的空间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46141334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档