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


如果你看过之前几篇文章,应该已经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环境,建议你查看前几篇文章。

文章来源:https://www.cnblogs.com/muchengqingxin/p/15775635.html

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
管理员
上一篇:C# 指针简单使用
下一篇:Redis OM .NET Redis对象映射框架
评论列表

发表评论

评论内容
昵称:
关联文章

.NET 服务——CI/CD4):一点经验
.NET 服务——CI/CD(1):Jenkins+Gitee自动构建
使用.NET 6开发TodoList应用(31)——实现基于Github ActionsACI的CI/CD
.NET 服务——CI/CD(2):自动打包镜像
.NET 服务——CI/CD(3):镜像自动分发
ASP.NET+MVC入门踩笔记 (一) 创建项目 项目配置运行 以及简单的Api搭建
信支付:签名计算.net4.5
详解ElasticAPM实现服务的链路追踪(NET
使用.NET 6开发TodoList应用(30)——实现Docker打包部署
Xamarin.Android 踩
使用.NET 6开发TodoList应用(填1)——实现当前登录用户获取
使用Hot Chocolate.NET 6构建GraphQL应用(4) —— 实现Query映射功能
iNeuOS工业互联网操作系统,发布3.6.4版本:云端安全控制实时日志功能,附Chrome、FirefoxEdge浏览器测试性能对比
记一次 .NET 某智能交通后台服务 CPU爆高分析
Identity Server 4到今年年底就停止支持了,试一下使用Orchard Core 作为认证服务
Asp.net 信H5唤起支付支付回调
软的SerializeNewtonsoft的SerializeObject比较
VS2022添加支持.Net Framwork4.0的方法
批处理安装服务
熔断降级的初步详解实现(NET Core控制台输出讲解Polly)

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码