加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

从0开始搭建一个微服务的持续交付系统,教你如何快速搭建

发布时间:2019-08-22 15:36:29 所属栏目:建站 来源:老詹啊
导读:副标题#e# 本文介绍了如何利用开源软件快速搭建一套微服务的持续交付系统。本文假设的环境是Linux操作系统,用到的软件包括Git、Jenkins、Salt、ZooKeeper、Apache等。开始之前,我先简单介绍下持续交付和微服务的概念,以便大家更好的理解本文的精华。 什

1、betacat_ms1.sls 第一部分:安装

从0开始搭建一个微服务的持续交付系统,教你如何快速搭建

在这一部分,检查并创建安装目录,下载需要的可执行包,并解压到正确的位置,可执行包直接从Repo Server获取,并通过sha512验证文件的完整性。

2、betacat_ms1.sls 第二部分:配置注入

从0开始搭建一个微服务的持续交付系统,教你如何快速搭建

配置注入部分,读取配置文件包,通过salt master转换后下发给目标机。这里用红框标出了设计的核心。通过salt的file.recurse和之前持续部署中打好的配置程序包,并把所有的配置项传入。可以做到不用对多个配置文件单独编写部署逻辑,完全参数化。

3、betacat_ms1.sls 第三部分:服务运行

从0开始搭建一个微服务的持续交付系统,教你如何快速搭建

在这一部分,确保微服务在运行状态,并在必要的时候重启。这里需要特别指出的一点,在整个sls文件中,对不同的微服务来说,只有3个元参数:项目名称(BeatCat)、微服务名称(ms1)以及sig(ms1, 微服务进程的唯一识别字符串)。那么我们可以通过简单的脚本来自动生成sls文件,而不需要手工编写。大大降低持续部署的开发维护成本。

快速搭建微服务的持续交付:全自动化

为了支持持续交付流程的全自动化,我们引入了ZooKeeper,如图14。

从0开始搭建一个微服务的持续交付系统,教你如何快速搭建

图14 引入ZooKeeper后的流程

  1. 代码check in 到Git后,触发构建,Jenkins会把打好的包上传到Repository Server,并更新ZooKeeper的本次及latest包版本信息。
  2. 侦听到ZooKeeper的latest包版本信息变动后,会触发saltstack的部署命令向各个环境部署最新的程序。
  3. 部署完毕,会更新ZooKeeper上的目标机部署版本信息。
  4. 侦听到ZooKeeper上的目标机部署版本信息变动后,会触发一套或多套自动化测试脚本的运行。
  5. 自动化测试通过后,会更新ZooKeeper上的包版本的测试信息。
  6. 通过测试的包,可以自动上传到生产环境的repo server,并更新生产环境ZooKeeper的包版本信息。
  7. 生产环境,侦听到ZooKeeper的包版本信息变动后,会触发生产环境的部署。
  8. 生产环境部署完毕,会更新ZooKeeper上的目标机部署版本信息。

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读