Jenkins+Docker+K8S自动化部署
自从公司的服务大升级使用Jenkins+Docker+K8S自动化部署之后,感觉用起来有点大快人心之感。 攻城狮本地开发,开发完成后提交代码到代码仓库,自动触发jenkins进行持续集成与部署,部署完成会收到结果邮件。项目运行过程中可通过日志系统查看程序日志,有异常会触发监控系统发送报警。从编码到上线后结果反馈都可以攻城狮自主完成,形成完整闭环,完整.
自从公司的服务大升级使用Jenkins+Docker+K8S自动化部署之后,感觉用起来有点大快人心之感。
攻城狮本地开发,开发完成后提交代码到代码仓库,自动触发jenkins进行持续集成与部署,部署完成会收到结果邮件。项目运行过程中可通过日志系统查看程序日志,有异常会触发监控系统发送报警。从编码到上线后结果反馈都可以攻城狮自主完成,形成完整闭环,完整流程的工具链及协助异常情况的处理,工作量减少了,效率也高了。
-
自动触发jenkins部署通过svn或Git的hooks来实现,是否自动触发根据项目内部沟通决定,我们目前没有自动触发,原因是QA在测试的过程中不希望被自动触发的部署打断,不过也可以方便的在jenkins上手动触发执行;
-
jenkins从Git拉代码 --> 编译 --> JS/CSS合并压缩 --> 其他初始化操作 --> 生成最终线上运行的代码包,通过Dockerfile打包成镜像上传到docker hub,然后触发kubernetes滚动更新;
-
镜像包含了基础镜像+项目代码,基础镜像就是根据项目运营环境打包的一个最小化的运行环境(不包含项目代码),根据项目依赖的技术栈不同我们打包了很多不通类型的基础镜像,例如包含nginx服务的基础镜像,包含jdk+tomcat的基础镜像;
-
如果发现程序上线出错或有bug短时间内无法解决,可通过jenkins快速回滚到上一镜像版本,十分方便;
-
如果发现流量突然增高,可以通过kubernetes快速调整容器副本数量。
更多推荐
所有评论(0)