spinnaker - 使用 Spinnaker 表达式辅助函数进行身份验证
问题描述
我已经构建了一个管道,该管道由特定文件上的 Git 推送触发,该文件包含额外的元信息,例如目标命名空间和要部署的 kubernetes 清单的版本。在一个表达式中,我想使用
${ #fromUrl( execution['trigger']['resolvedExpectedArtifacts'][0]['boundArtifact']['reference'] ) }
我试图实现的是一种 GitOps 方法,它在 Git 中使用一组配置文件,触发参数化 Kubernetes 清单的管道以部署多个资源。
当我通过启动管道或使用执行该表达式时,curl
我得到 401(在 orca 日志中)。Git 凭证是使用用户名/密码和令牌配置的,以及在 orca-local.yml 中的配置。但似乎它们没有被使用。
我是否走错了路,是否有更简单的方法可以访问管道中的文件内容?
解决方案
该助手不会通过任何类型的身份验证,它会期望端点对您的大三角帆实例开放。
Spinnaker 通常将工件视为传递,因此为了在管道中获取文件的内容,您必须经过一个中间阶段,例如在 jenkins 阶段写出一个属性文件 ( https://www. spinnaker.io/guides/user/pipeline/expressions/#property-files)或通过带有自定义身份验证标头的 webhook。
推荐阅读
- java - Eclipse 和 maven-war-plugin 爆炸
- android - 通过 NavDeepLinkBuilder 的 PendingIntent 发送参数
- react-native - 我将如何制作自己的提要/市场?[反应原生]
- html - 使用 CSS 冻结 HTML 表格的第一行
- c# - 尝试删除数据库时出现“SqlException (0x80131904): 无法打开数据库”
- woocommerce - 建立所有提交的 WooCommerce 评论的列表
- facebook-graph-api - Open Graph 反应式元信息
- javascript - 获取标签 ID 以便在创建后更新
- web - 使用 cpanel 的 cron.php 权限
- c# - ASP.NET Core:匹配路由,一个有body,一个没有