如果你看过之前几篇文章,应该已经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授权:

无用镜像

通过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

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

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

硬件配置

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

私服镜像仓库

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

其他的小细节不再赘述,进入生产环境后大家都会有自己的经验。欢迎讨论。

如果你现在还没有利用Jenkins搭建过CICD环境,建议你查看前几篇文章。

最新文章

  1. kali python pip3 的安装和卸载
  2. PHP基础
  3. 上传文件创建目录 mkdir
  4. php 二维数组排序,多维数组排序
  5. delphi 类方法、类变量、类常量、类属性的研究,自己的研究
  6. WCF自定义Header
  7. cocos2dx游戏开发——微信打飞机学习笔记(九)——BulletLayer的搭建
  8. 关于TD邮件功能不能发到认证邮箱的解决之法
  9. Rabbitmq无法监听后续消息
  10. Unity 3D Framework Designing(7)——IoC工厂理念先行
  11. [Err] 1172 - Result consisted of more than one row
  12. 【一天一道LeetCode】#103. Binary Tree Zigzag Level Order Traversal
  13. Math类的方法应用
  14. mysql 在线加索引 锁表
  15. 为什么hexo预览功能总是间歇性失效?
  16. ATM取款机数据库设计
  17. 《算法》第五章部分程序 part 8
  18. python3之memcached
  19. Golang 实现守护主进程
  20. 基于scrapy-redis两种形式的分布式爬虫

热门文章

  1. SpringMVC(4):文件上传与下载
  2. Spring Boot中使用Mybatis
  3. pandas读取csv文件中文乱码问题
  4. Spring Cloud Alibaba 整合 Nacos 实现服务配置中心
  5. Jsp/servlet分页五要素
  6. 09 - Vue3 UI Framework - Table 组件
  7. ciscn_2019_s_6
  8. CF415A Mashmokh and Lights 题解
  9. ss命令用来显示处于活动状态的套接字信息。
  10. 阿里巴巴分布式服务框架HSF