CI/CD 经验和避坑

一、坑点

       1.1、后门漏洞

                【问题】Jenkins 有后门,老问题。多年前有人发现,当时Jenkins团队也快速打了补丁(2.137以后),但是你下载的某些插件如果有漏洞(比如最近Log4j的大雷) 也可能导致被黑。

                【办法】

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

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

                             c、放通Docker Tcp端口时,不要放2376端口。

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

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

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

                             j、修改JenKins授权:                                 

                                  

       1.2、无用镜像

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

                【办法】

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

复制代码
1 echo "==========清理空镜像=========="
2 clearImagesList=$(docker images -f "dangling=true" -q)
3 if [ ! -n "$clearImagesList" ]; then
4 echo "没有空镜像"
5 else
6 docker rmi $(docker images -f "dangling=true" -q)
7 echo "空镜像已清理"
8 fi
View Code
复制代码

                            b、如果你选择上传镜像到阿里云仓库(或其他云仓库),还会留下一个tag镜像和原镜像,也可以在构建步骤中删除:

1 echo "==========清理镜像=========="
2 docker rmi -f mydotnet6
3 docker rmi registry.cn-shenzhen.aliyuncs.com/命名空间/仓库名:版本号
View Code

       1.3、硬件配置

               根据实践经验,建议Jenkins所在服务器至少拥有2核4GB的配置,低于这个配置时,构建过程可能会十分缓慢,会导致它经常弹出异常错误。

       1.4、私服镜像仓库

                Jenkins默认支持Harbor,非常简单但需要你先搭建好Harbor。通过这种方式上传可以勾选“清理本地镜像”:         

                

                  

 

posted on   木乃伊人  阅读(46)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示