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流水线发布。这个我会在随后的博文里面给大家讲。

【下一代核心技术DevOps】:(五)微服务CI与Rancher持续集成的更多相关文章

  1. 【下一代核心技术DevOps】:(二)Rancher的应用及优点简介

    1.环境选择 安装Rancher环境,一定要在干净的linux主机上进行,避免出现因配置导致的莫名其妙的问题.服务器操作系统建议CentOS7.4(内核3.10以上)低于这个版本的系统 如7.3 7. ...

  2. 【下一代核心技术DevOps】:(六)Rancher集中存储及相关应用

    1. 前言 为什么要使用集中存储? 使用集中存储有个很大的优势是数据安全和统一管理,和集群完美配合. 产品集成存储经历过几个阶段: 1.单机本机存储. 系统使用本地硬盘存储 2.单网络集中存储. 局域 ...

  3. 唱吧DevOps的落地,微服务CI/CD的范本技术解读----最大的难点并不是实际业务代码的编写,而是服务的监控和调试以及容器的编排

    1.业务架构:从单体式到微服务 K歌亭是唱吧的一条新业务线,旨在提供线下便捷的快餐式K歌方式,用户可以在一个电话亭大小的空间里完成K歌体验.K歌亭在客户端有VOD.微信和Web共三个交互入口,业务复杂 ...

  4. 唱吧DevOps的落地,微服务CI/CD的范本技术解读

    1.业务架构:从单体式到微服务 K歌亭是唱吧的一条新业务线,旨在提供线下便捷的快餐式K歌方式,用户可以在一个电话亭大小的空间里完成K歌体验.K歌亭在客户端有VOD.微信和Web共三个交互入口,业务复杂 ...

  5. CI Weekly #5 | 微服务架构下的持续部署与交付

    CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...

  6. 分布式架构和微服务CI/CD的范本技术解读

    随笔分类 - 分布式架构--http://www.cnblogs.com/hujihon/category/858846.html (ZooKeeper.activemq.redis.kafka)的分 ...

  7. 利用Travis CI+GitHub实现持续集成和自动部署

    前言 如果你手动部署过项目,一定会深感持续集成的必要性,因为手动部署实在又繁琐又耗时,虽然部署流程基本固定,依然容易出错. 如果你很熟悉持续集成,一定会同意这样的观点:"使用它已经成为一种标 ...

  8. 【持续集成】GitLab CI + Docker 实现持续集成

    GitLab CI + Docker 实现持续集成 一.持续集成(Continuous Integration, CI)的基本概念 概述 在传统软件的开发中,代码的集成工作通常是在所有人都将工作完成后 ...

  9. CI / CD /CD 持续集成 持续交付 持续部署

    CI / CD /CD 持续集成 持续交付 持续部署 CI CD 是啥?干了啥? CI continuous integration 持续集成 CD continuous delivery 持续交付 ...

随机推荐

  1. Spring框架学习之依赖注入

    Spring框架从2004年发布的第一个版本以来,如今已经迭代到5.x,逐渐成为JavaEE开发中必不可少的框架之一,也有人称它为Java下的第一开源平台.单从Spring的本身来说,它贯穿着整个表现 ...

  2. 两个HTML地址栏传中文参数乱码

    这个不叫乱码,我非专业.这个是url编码,js本身就是读取url编码的.对于js获取url的中文你可以尝试用escape() encodeURI() encodeURIComponent() deco ...

  3. Java求555 555的约数中最大的三位数。

    package org.llh.test; /** * 求555 555的约数中最大的三位数 * @author llh * */ public class Car { //整数j除以整数i(i≠0) ...

  4. Linux学习(十四)磁盘格式化、磁盘挂载、手动增加swap空间

    一.磁盘格式化 分好去的磁盘需要格式化之后才可以使用.磁盘分区一般用mke2fs命令或者mkfs.filesystemtype.这个filesystemtype分为ext4,ext3,xfs等等.xf ...

  5. Visual Assist X 10.6.1830.0 常用快捷键

    Visual Assist X 10.6.1830.0 常用快捷键 1.Alt + G: 在定义与声明之间互跳. 2.Alt + O: 在.h与.cpp之间互跳.(O是字母O,不是数字零) 3.Alt ...

  6. zepto在操作dom的selected和checked属性时尽量使用prop方法

    zepto在操作dom的selected和checked属性时尽量使用prop方法.

  7. 基于.net的通用内存缓存模型组件

    谈到缓存,我们自然而然就会想到缓存的好处,比如: 降低高并发数据读取的系统压力:静态数据访问.动态数据访问 存储预处理数据,提升系统响应速度和TPS 降低高并发数据写入的系统压力 提升系统可用性,后台 ...

  8. 二叉搜索树的第 k 个结点

    题目 给定一颗二叉搜索树,请找出其中的第k小的结点,即将二叉树中所有元素从小到大排序的第 k 个结点. 解析 按中序遍历二叉搜索树就可以获得一个非递减的序列,此时第 k 个就为答案.实际上我们只需要按 ...

  9. 《Github入门与实践》读书笔记 蟲咋先生的追求之旅(上)

    <Github入门与实践>作者: [日] 大塚弘记 译者:支鹏浩/刘斌   简介 本书从Git的基本知识和操作方法入手,详细介绍了GitHub的各种功能,GitHub与其他工具或服务的协作 ...

  10. 几种移动app API调用认证方案浅析

    最近做的金融项目,app调用的接口需要做一个身份认证,所以找了下目前API services验证的几种方式.之前翻译的一篇文章--[译]移动API安全终极指南中,主要提出了API服务调用验证的问题,通 ...