我有一个 Jenkinsfile 有这个顺序的路径(假设绿色环境只绑定到生产):
Build-->Deploy-to-QA-->Deploy-To-Preprod-->Deploy-To-BLUE-Production-->绑定到蓝色环境到负载均衡器-->取消绑定绿色环境-->部署到绿色- -> 绑定绿色--> 解除绑定蓝色
如果我们过于乐观,这个命令似乎很好,因为在某些情况下,绿色环境可能存在问题,管理员用户可以手动绑定蓝色环境,或者两者可以绑定到生产环境中。
因此,我编写了一个脚本,对 LB 进行 API 调用并获取绑定的服务组。
但是我不知道如何通过获取 api 的结果来重定向管道。
如果端点返回蓝色已绑定,则应从绿色开始部署,如果端点返回绿色已绑定信息,则在我的情况下应从蓝色环境开始部署。
但据我所知,我无法将阶段包装在 Jenkinsfile 的函数中。