概述
结合大家CI/CD的应用场景,本篇Blog旨在介绍如何通过Rancher的webhook微服务来实现CI/CD的联动。
流程介绍
本次实践的主要流程如下:
- CI/CD console从代码托管、配置中心、第三方依赖平台拉取应用相应的代码,配置、依赖、并构建应用镜像。
- 将构建好的应用镜像推送到镜像仓库。
- 通过Rancher Server暴露出来的API/UI/CLI创建并启动应用栈。
- 在Rancher Server上创建upgrade类型的webhook。
- 更新应用、重新构建应用镜像,同时推送到镜像仓库。
- 触发Dev环境的webhook,完成Dev环境的服务升级。
- Dev环境验证升级是否成功,应用是否正常。
- 触发Beta环境的webhook,完成Beta环境的服务升级。
- Beta环境验证升级是否成功,应用是否正常。
- 出发Prod环境的webhook,完成Prod环境的服务升级。
- Prod环境验证升级是否成功,应用是否正常。
webhook介绍
Rancher webhook的服务流程大致如下:
- router根据用户提交过来的method和url初始化对应的handler。
- handler解析请求参数里面的key和projectid初始化对应的webhook driver。
- driver调用升级接口,返回并相应触发webhook的请求。
环境准备
Mac,Windows,Linux,Docker Cloud,AWS,Azure均可部署。