如果你看过之前几篇文章,应该已经Jenkins成功搭建了CICD环境,但是进入正式环境会有一些坑,不注意中招的话很难受,这里总结一下,避免重复消耗精力。

后门漏洞

Jenkins有后门,这是个老问题了。虽然早在18年就有人发现,而且当时Jenkins团队也快速打了补丁(2.137以后),但你下载的某些插件如果有漏洞(比如最近Log4j的大雷)也可能导致被黑。

为了杜绝这个问题,我建议你做到这几点:

1、升级Jenkins到最新稳定版(2021-12-01最新2.319.1)

2、如果可以,不要把Jenkins服务器暴露在公网。可以选择个人电脑+花生壳。

3、放通docker tcp端口时,不要放2376端口。

4、不要在业务服务器上安装Jenkins。

5、替换/删除掉可能出现问题的插件。

6、SSH Server不要配置root账户。

6、修改Jenkins授权:

.NET 微服务——CI/CD(4):避坑和一点经验-LMLPHP

无用镜像

通过Jenkins自动构建镜像后,会在Docker留下一个空镜像,大概700-800M左右,要命的是每构建一次就会多一个,多来几次服务器的磁盘就不够用了。。。。手动可以解决但不优雅,CICD嘛,必须全自动。

增加构建步骤,通过SSH执行这段命令:

echo "==========清理空镜像=========="
clearImagesList=$(docker images -f "dangling=true" -q)
if [ ! -n "$clearImagesList" ]; then
echo "没有空镜像"
else
docker rmi $(docker images -f "dangling=true" -q)
echo "空镜像已清理"
fi
01-08 00:07