Jenkins预设置阶段报错“No space left on device”,仅改代码注释后出现
Jenkins构建"No space left on device"问题分析
- 这个错误和你的本地机器、Github的存储完全无关,问题出在Jenkins运行所在的服务器(或它使用的Docker容器)磁盘空间不足。
- Pre Set Up阶段是Jenkins在自身运行环境中执行准备操作(比如拉取代码、初始化工作目录、创建临时文件),所有磁盘操作都发生在Jenkins所在的机器/容器内,和你本地电脑的磁盘、Github的存储空间没有关联。
- 仅修改代码注释却触发报错的原因:之前的构建可能已经将Jenkins所在环境的磁盘空间占用到临界状态,这次构建哪怕只是微小的操作(比如拉取更新后的代码、写入少量临时数据),就会触发磁盘满的报错。
解决建议
- 检查Jenkins运行环境的磁盘使用情况:
- 如果是物理/虚拟机,执行命令
df -h查看各挂载点的剩余空间,定位满盘的分区。 - 如果是Docker容器,先进入容器内部(
docker exec -it <jenkins容器名> bash)再执行df -h,或者直接检查宿主机的磁盘使用。
- 如果是物理/虚拟机,执行命令
- 清理Jenkins相关的冗余数据:
- 在Jenkins后台配置中,设置自动清理历史构建(保留最近N次即可),删除旧构建的工作目录。
- 手动清理Jenkins的临时文件、缓存目录(默认路径通常是
/var/lib/jenkins/workspace或容器内对应挂载目录)。
- 若使用Docker部署Jenkins:
- 执行
docker system prune清理无用的Docker镜像、容器、卷和网络,释放宿主机磁盘空间。 - 检查Jenkins挂载的数据卷是否已满,必要时扩容或清理卷内的冗余文件。
- 执行
内容的提问来源于stack exchange,提问作者jikf
相关产品推荐
相关产品推荐

