博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【下一代核心技术DevOps】:(五)微服务CI与Rancher持续集成
阅读量:6789 次
发布时间:2019-06-26

本文共 1456 字,大约阅读时间需要 4 分钟。

 1. 引言

  DevOps的核心魅力是快速的持续集成交付,降低研发和实施运维之间的交互,使得传统的各种扯皮现象统统消失。最重要的是降低成本

  保障产品交付可靠性。

   使用Rancher作为持续集成的关键环节,统一结连微服务和云计算,使得产品从研发到上线流水线操作,提高生产效率,此处我写的是微服务

   而不是传统的程序,是因为微服务(架构的产品)和容器服务,云计算是完美结合的三大核心模块,也是互联网下一代核心技术DevOps的3个

   核心支柱。而传统程序,由于在微服务架构方面转型较慢或者生态链较弱,无法完美进行DevOps。

    注:在此不做较多解释,避免口水战,详情可看我的第一篇博客。

 

 2. 集成说明

  本例集成代码采用java微服务项目,可抛弃第三方集成组件如 Jenkins 。简单高效。

  实现提交代码,即生产发布的全自动流程 (Code->Git repository->Docker repository->Rancher->Server)

 

 3. 配置自动CI

     登陆阿里云镜像库  https://dev.aliyun.com

     选择镜像区域,如华南1. 点击 “创建镜像仓库”

 创建:命名空间,

仓库名称:你的项目名称

源代码选择:阿里云Code或者其他的Git源

勾选:代码变更时自动构建镜像 

路径:/  或者你代码里Dockerfile文件的全路径

标签:latest或者自定义版本号

然后点击:创建镜像仓库

只要提交代码上来,服务器就会自动根据构建image镜像

   

 

  4 配置镜像自动构建

   点击刚创建的:server-config 库 。 管理 。记录下镜像库的地址。需要在接下来的Rancher进行配置

  

 进入Rancher管理后台-基础架构-镜像库 -添加

 添加成功后,Rancher就可以下载部署你的私有镜像

 接下来进入 Rancher管理后台 -API-WebHooks 添加一条接收器

 名称:随意好记

 类型:升级服务

 参数格式:阿里云

 标签:latest

 选择器标签:update=server-config

 然后点击:创建 

 复制保存:触发地址

 

再次进入阿里云Docker管理服务后台,看到构建里面的镜像已经构建完毕

我们点击 webhook ,新增一条记录

名称:随意

URL:刚才Rancher里面配置的触发地址

标签:latest

登陆Rancher管理后台,开始部署我们的应用

新建服务

镜像:刚建立的镜像名称

标签:update=server-config

完成后,Rancher自动拉取镜像库的镜像并部署

 

 5. 自动集成,升级

 提交代码。查看镜像自动构建过程。 完成后,查看Rancher的服务server-config 自动升级。

 

 

 至此,基于DevOps的全自动CI/DI发布已经实现。且不用配置Jenkins等复杂的集成组件。最重要的是:你花钱了么?不需要自己的服务器,全部FREE

 

 1.这种集成适合于 团队内部进行了相关测试, 最终交付的代码已经是稳定可靠版。直接上生产的情况。其实这也是大多数中小型公司使用的方式。

属于半自动化。方便,灵活可控,可随时中断某个环节。

 2. 另外一种方式,是全部使用全自动化集成测试,同时包括自动化团队沟通,同时多镜像库发布,自定义动作等。 这个对公司IT能力水平要求较高,使用

Pipeline Jenkins流水线发布。这个我会在随后的博文里面给大家讲。

转载于:https://www.cnblogs.com/vesaa/p/7992860.html

你可能感兴趣的文章
用学习逃避成长,听新知缓解焦虑
查看>>
selenium 如何处理table
查看>>
从流程浅析网站性能优化点
查看>>
Web前端面试宝典(最新)
查看>>
python-week1-postman+jemter-soapUI
查看>>
POJ 3349 Snowflake Snow Snowflakes 暴力
查看>>
LoadRunner性能测试入门教程
查看>>
Java I/O Properties的使用 存取配置文件
查看>>
关于开源的一点看法
查看>>
bzoj 3328 PYXFIB——单位根反演
查看>>
bzoj1037生日聚会
查看>>
eclipse-->切换语言版本
查看>>
2003应用池假死常见问题和解决方法
查看>>
使用javascript的日期函数
查看>>
c# : use xsd 校验 xml
查看>>
mybatis初接触
查看>>
没有测试的开发是多么的悲催哇
查看>>
awk的日志模块追加日期时间字段的方案
查看>>
[转]高级SQL注入:混淆和绕过
查看>>
System.IO.Path 文件名、路径、扩展名处理
查看>>