从零打造自己的CI/CD系统|端口检测
上一篇文档中我们提到了
SmokeTest
的以及如何使用Ansible
来检测SmokeTest
,今天我们来说说发布过程中端口的健康检测,以及在整个CI/CD
过程中扮演的角色。
端口存活检测
在CI/CD
过程中,有的应用(java/python/golang)等服务对外暴露的端口的存活标示这项目的存活状态(端口存活并不意味这服务可用),在进行CI/CD
的过程中,我们需要先检测端口是否存在,然后切软链,然后做reload|restart
的动作,然后再次检测端口的存活情况,然后再去检测SmokeTest
的状态,以上几步操作其中任何一步抛出异常,就会中断整个工作流,然后把以上几步操作留下的痕迹全部清除掉,确保不会对rollback
产生影响。
如何使用Ansible进行port状态检测
用到的变量
•ansible_default_ipv4.address•获取当前正在部署RS
机器的ip
地址•port•每个应用自己的端口,通过变量传入
palybook编写
总结
需要注意的是,端口存活并不意味着服务可用,服务可用端口必须要是存活状态。