继上次 Jenkins报错No-Space-left-on-device 之后,磁盘问题它又来了,Jenkins 在每次执行构建的时候都会在 /tmp
目录下创建一个临时脚本用来执行构建,如下的样子
Jenkins 构建时报错:No Space left on device
今天遇到一个 Jenkins 宿主目录所在磁盘容量不足的问题,如果在这种情况下,开始切换目录,jenkins 服务重启是成功的,我这里出现的问题是服务可以正常启动,端口起不来,/var/log/jenkins/jenkins.log
没有任何输出,解决方法就是先将 workspace 内不需要的项目删一下,然后在开始切换目录。
以下是 Jenkins 2种情况下切换目录的方法
本文将完成 GitLab+Jenkins+Tomcat
的 CI/CD,并通过 Jenkins 的参数化构建完成 jenkins 的回滚,本文采用的回滚方式,是我在 git tag 和 脚本 两种方案之间选择的脚本回滚,因为考虑到 tag 方式还需要额外维护 tag 外,每次回滚需要重新构建;而脚本回滚的方式,每次构建会将构建结果做一个备份,回滚时直接使用备份即可,无需重复构建。
实验环境
主机 | 服务 | 备注 |
---|---|---|
192.168.1.1 | Git、GitLab、Maven | 内存4G,可联网 |
192.168.1.4 | Git、Jenkins、Maven | 内存4G,可联网 |
192.168.1.6 | Tomcat |