(寂寥小雪闲中过,斑驳轻霜鬓上加)
01
PART
故事缘起
服务器终于稳定了,项目也迁移完成了,BCVP (前后端分离认证鉴权一整套)框架也平稳度过了两个星期。最近半年以来,一直受到服务器偶尔重启的困扰,看了下原因,是服务器内存被占满了,这还是没有使用呢,要是发布个流程,直接服务器挂掉
因为我的8G的服务器,涵盖了开源所有的产品,其中有两个大头:Mysql和Jenkins(其实可以限制它的大小1G左右),数据库可不能放弃吧,就指望着它呢,虽然Mysql腾讯云有卖的,但是舍不得买,开源这六年来,光腾讯云就快两万的花费,还不考虑其他的花销,有没有腾讯云的粉丝老铁,给个好用的优惠券?开个玩笑。
没办法只能忍痛对Jenkins下手了,当年第一次使用CICD就开心的不得了,还各种改造,自定义镜像,安装皮肤,全栈进行迁移,容器化等等等等,这里有几篇文章,足可见当时的喜爱程度:
《使用Jenkins来发布和代理.NetCore项目》
《Jenkins 安装与项目构建》
《升级Jenkins:发布和代理 VUE 项目》
《升级Jenkins镜像,支持.NET6.0》
《【CI/CD系列】使用Docker安装Jenkins》
但是在昂贵的服务器面前,我还是决定对Jenkins动手了,正好平时都逛一下技术博客,偶尔看到了一个国产开源的轻量级的运维工具——SPUG吸引到了我,
通过整体对比,正好能满足我的需求,所以这里给大家分享下,因为是Python和JS开发的,面向中小型企业设计自动化运维平台,无 Agent,非常的轻量。
所以整体下来大概五个服务,总体内存才不到400M,我的服务器一下子就少了2个G,开心到飞起
八个核心项目都已经迁移完成。
02
PART
开始安装
因为我是docker粉,所以基本干啥都喜欢容器化和DevOps,直接安装
这里要注意下挂载数据问题,要不然下次重启的时候,数据就没有了,这个和Jenkins的思路是一样的,不再赘述
代码语言:javascript复制docker run -d --restart=always --name=spug
-p 5051:80 -v /home/docker_data/spug:/data
registry.aliyuncs.com/openspug/spug
Spug的优缺点:
优点是:支持主机管理、git代码拉取、脚本执行、定时器、多台机器同时批量执行部署。
还有配置中心,丰富角色权限管理,同时也支持在线web端ssh控制台
内存在500M以内,很不错。
缺少当然也很明显,没有大厂推广,国内社区开源软件都会面临的窘境,就是社区不是很活跃,不过基本也能用。感兴趣可以看看。
1、配置主机
2、服务器上传指定路径文件
3、在线执行控制台命令
4、可以使用配置中心的配置变量
5、详细的数据配置展示和执行日志
发布速度也很快,从07s到22s,一般30s基本都能完成从拉取代码到发布完成。
6、丰富的表单权限管理
7、如果不想用docker,也可以直接用原生命令行方式,效果是一样的
8、还有很多其他功能
比如告警,日志,配置中心,定时任务和主机管理等等
更多功能大家自行挖掘吧,今天就先分享到这里- ̗̀(๑ᵔ⌔ᵔ๑)