软件的持续部署发布流程

文章详细阐述了微服务应用如何进行单机发布的完整流程,包括从CMDB获取主机信息,检查服务状态,下载软件包,优雅下线,重启应用,健康监测以及上线服务。强调了每个环节的注意事项,如服务的正常运行、避免错误告警、与软负载和注册中心的交互,确保应用能优雅上下线,减少对其他服务的影响。
摘要由CSDN通过智能技术生成

将构建完成和验证通过的应用软件包,发布到该应用对应环境下的 IP 主机上的指定目录下,并通过应用优雅上下线,来实现软件最新版本对外提供服务的过程。

单体架构软件启动起来就可以提供服务,但是对于微服务应用,无论停止还是启动,都需要考虑到对周边其它依赖和被依赖应用的影响才可以,考虑的点也就相对较多。

针对单机发布,分环节来看一下:

1. 从 CMDB 中,拿到线上生产环境下的应用主机 IP 列表去对应关系,目的是要将软件包发布到应用对应的 IP 主机上。

2. 检查每台机器上的服务是否正常运行,如果是正常服务的,说明可以发布,但是服务本身异常,就要记录或跳过。

3. 下载 war 包到指定目录。这里要依赖前期我们介绍的应用配置管理,在这一步要获取到该应用的源代码目录。

4. 关闭该应用在这台主机上的监控,以免服务下线和应用终止产生线上错误告警。

5. 优雅下线。RPC 服务从软负载下线,如果该应用还提供了 http 的 Web 调用,就需要从 Nginx 这样的七层负载下线,下线动作均通过 API 接口调用方式实现。

6. 下线后经过短暂静默,重启应用。对于 Java 应用来说,重启时可以自动解压,启停命令等还是之前从应用配置管理中获取响应路径和命令脚本名称。

7. 优雅上线,进行健康监测,检查进程和应用状态是否正常,如果全部监测通过,则开始上线服务,开启监控。

上述是一个应用的单机发布过程,过程比较长,但是可以看出,每个环节并不复杂。这里我们需要注意两个关键点:

  • 针对场景,进行细分,这样就可以化整为零,把一个乍看上去很复杂的过程,分解成一个个可执行的步骤。
  • 与服务化的软负载和注册中心进行交互,确保应用是可以优雅上下线的,而不是简单粗暴地启动和停止。

此文章为3月Day27 学习笔记,内容来源于极客时间《赵成的运维体系管理课》,推荐该课程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值