首页 > 解决方案 > 使用 Spinnaker 表达式辅助函数进行身份验证

问题描述

我已经构建了一个管道,该管道由特定文件上的 Git 推送触发,该文件包含额外的元信息,例如目标命名空间和要部署的 kubernetes 清单的版本。在一个表达式中,我想使用

${ #fromUrl( execution['trigger']['resolvedExpectedArtifacts'][0]['boundArtifact']['reference'] ) }

我试图实现的是一种 GitOps 方法,它在 Git 中使用一组配置文件,触发参数化 Kubernetes 清单的管道以部署多个资源。

当我通过启动管道或使用执行该表达式时,curl我得到 401(在 orca 日志中)。Git 凭证是使用用户名/密码和令牌配置的,以及在 orca-local.yml 中的配置。但似乎它们没有被使用。

我是否走错了路,是否有更简单的方法可以访问管道中的文件内容?

标签: spinnaker

解决方案


该助手不会通过任何类型的身份验证,它会期望端点对您的大三角帆实例开放。

Spinnaker 通常将工件视为传递,因此为了在管道中获取文件的内容,您必须经过一个中间阶段,例如在 jenkins 阶段写出一个属性文件 ( https://www. spinnaker.io/guides/user/pipeline/expressions/#property-files)或通过带有自定义身份验证标头的 webhook。


推荐阅读