1. 引言java
DevOps的核心魅力是快速的持续集成交付,下降研发和实施运维之间的交互,使得传统的各类扯皮现象通通消失。最重要的是下降成本web
保障产品交付可靠性。服务器
使用Rancher做为持续集成的关键环节,统一结连微服务和云计算,使得产品从研发到上线流水线操做,提升生产效率,此处我写的是微服务架构
而不是传统的程序,是由于微服务(架构的产品)和容器服务,云计算是完美结合的三大核心模块,也是互联网下一代核心技术DevOps的3个运维
核心支柱。而传统程序,因为在微服务架构方面转型较慢或者生态链较弱,没法完美进行DevOps。微服务
注:在此不作较多解释,避免口水战,详情可看个人第一篇博客。测试
2. 集成说明阿里云
本例集成代码采用java微服务项目,可抛弃第三方集成组件如 Jenkins 。简单高效。云计算
实现提交代码,即生产发布的全自动流程 (Code->Git repository->Docker repository->Rancher->Server)3d
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流水线发布。这个我会在随后的博文里面给你们讲。