自动化部署-痛与变

目录

Jenkins简介

目标及愿景

解放重复体力劳动

早部署、早测试、早交付

减少人为的错误

减少测试及市场干巴巴的等待


Jenkins简介


Jenkins自动化部署可以解决集成、测试、部署等重复性的工作,工具集成的效率明显高于人工操作;并且持续集成可以更早的获取代码变更的信息,从而更早的进入测试阶段,更早的发现问题,这样解决问题的成本就会显著下降:持续集成缩短了从开发、集成、测试、部署各个环节的时间,从而也就缩短了中间出现的等待时间;持续集成也意味着开发、集成、测试、部署得以持续。
使用Maven(Ant)等来实现lava项目自动化构建发布部署。这些工具可以帮助在构建过程中实现自动化发布、回滚等动作。

在未使用jenkins作为持续集成之前,我是如何部署的了:

拉去相应分支代码到本地,并且需安装(nodejs,jdk,manve,idea,vs)等环境

前端打包 -第一步:安装环境(npm install,npm run build:prod),第二步:备份已发布的dist到相应备份分件 第三步:上传打包好的dist文件到部署路径.

后端打包-第一步:拉取代码并修改application-prod.yml文件(毕竟安全起见数据库等线上连接信息不让所以开发人员可见),第二步:执行数据库语句同步,第三步:执行 mvn clean package -P prod -DskipTests 第四步:上传*.jar或*.war或*.zip包到指定部署目录,然后执行

ps -ef|grep *.jar

kill -9 1111

nohup java -jar *.jar >aa.log 2>&1 & 

如此的体力活,就这样周而复始的重复着,最终干不动.....

目标及愿景

解放重复体力劳动

解放重复的体力劳动(自动化部署可以解放集成、备份、搭建环境等重复性工作,减少人为疏忽带来的一些错误(如:少执行了一行sql同步语句。忘记备份上一个已部署的包,导致上线无法回滚,造成服务长时间宕机,用户等待。部署的清单难以管理等核心及重要的问题得以解决。

早部署、早测试、早交付

尽快的获取代码的变更,更早的进行测试,就能更快及更早的修复问题,而不是等到所有问题及开发完成。水滴石川,而不是一刀切开

减少人为的错误

可能出错的,终究会出错。人与机器的比较是,人是有感情的,而机器是按预定义的指令运行(不考虑机房火灾等非正常情况),人容易犯错误,而机器较少的几率犯错。故此,我们还不如把部署的重复工作,用工具及编写相应的脚本来代理实现。

减少测试及市场干巴巴的等待

测试及市场问到的时候,不是那句-稍等一会,马上就好,快了。而是这句-某的,某个bug及问题已处理,已集成,可以测试。

更健壮的代码

搭配一些代码检测插件,有助于代码的Code review.对不规范的代码进行持续的改进,而不是等改不了的时候,干脆不改,操翻从干。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值