【问题标题】:How to add Jenkins master to Spinnaker如何将 Jenkins master 添加到 Spinnaker
【发布时间】:2026-02-08 08:35:01
【问题描述】:

我是 Spinnaker 的新手,正在尝试使用 spinnaker + jenkins 构建 CI/CD 部署。 我想从 Jenkins 创建自动触发器。但我无法将 jenkins 配置添加到 Spinnaker。

这是当前的 hal 配置

%hal config
ci:
  jenkins:
    enabled: true
    masters: []
  travis:
    enabled: false
    masters: []

这是配置文件/opt/spinnaker/config/spinnaker-local.yml

services:
  igor:
    enabled: true
  jenkins:
    enabled: true
    defaultMaster:
      name: myjenkins
      baseUrl: http://myip:8080
      username: {my user id}
      password: {my password}

如您所见,我将 jenkins 配置添加到 spinnaker-local.yml 但是当我用 curl 命令测试时,我找不到 jenkins master

$ curl localhost:8084/v2/builds
[]

我使用的是 spinnaker 1.5.4 和 Jenkins 2.8X 版本

【问题讨论】:

    标签: jenkins spinnaker


    【解决方案1】:

    我建议使用Halyard 来启用 Jenkins CI,并配置 master,而不是直接修改配置。

    hal config ci jenkins enable
    echo <JENKINS_PASSWORD> | hal config ci jenkins master add my-jenkins --address http://<JENKINS_URL> --username <JENKINS_USER> --password
    hal deploy apply
    

    最后一个命令 (hal deploy apply) 实际上是部署 Spinnaker 并应用了新的 Jenkins 配置。

    直接修改配置可能有效,但建议使用 Halyard 部署 Spinnaker,效果很好。

    【讨论】:

    • 虽然这可以正常工作,但当您想为此 jenkins 启用 CSRF 时,根据文档,您还可以将 --csrf true 添加到上述命令。添加此标志的那一刻,命令出错 - 提供了多个主服务器。