将参数从一个管道传递到另一个管道的最佳实践

Best practices for passing parameters from one pipeline to another

我们正在尝试使用 spinnaker(kubernetes/helm)推出多个参数化堆栈,并在每个堆栈都有自己的数据库的应用程序中逐步推广新堆栈。

我们将应用程序划分为微服务,每个微服务都有一个由依赖管道触发的部署管道:所以它类似于烘焙和部署批处理作业 -> 启动后台服务 -> 启动面向用户的层

我们希望在整个过程中传递几个参数,在烘焙阶段注入以确保所有内容都被一致地标记并查看正确的数据库。

目前我们正在使用

${trigger['parentExecution']['trigger']['parameters']['myParam']}

对于下一个管道,我只能想象从那里它变得更丑

${trigger['parentExecution']['trigger']['parentExecution']['trigger']['parameters']['myParam']}

等等?

有更好的方法吗?

不,看起来这是一种通用方式 - 因为管道本身保留所有执行上下文。 但您可以通过其他方式触发:

  • 直接使用"Pipeline"阶段调用管道
  • 调用 Webhook 触发器并传递所有需要的参数