0

我发现使用 ssh URL 从 Jenkins Blue Ocean 连接到 AWS CodeCommit git 存储库非常有问题,所以我将在下面分享实现方法。

更多背景知识:
在 Blue Ocean 中,您可以使用 https 或 ssh URL 连接到 git repo。但是,如果您选择 https 版本(与用户名+密码凭据一起使用),那么您将无法使用某些 BlueOcean 功能,例如管道编辑器。所以 SSH 版本(与私钥/公钥对一起使用)更好。

BlueOcean 会尽力为您生成密钥对,只是要求您将公钥上传到 git repo 服务器。这可以在 AWS 的 IAM 工具中完成,但即使在那之后连接也不起作用......

4

1 回答 1

0

这对我有用:

  • 在 Blue Ocean 中启动创建管道向导
  • 提供 ssh 仓库地址,比如说 ssh://codecommiturl/repo
  • Jenkins 生成密钥对并要求您将其上传到 git
  • 按照这里的描述做
  • 上传后从“SSH Key ID”获取值 - 这是你的用户名
  • 返回 Blue Ocean 向导并将您的 repo url 修改为如下所示:ssh://username@codecommiturl/repo,其中用户名等于上一步中的“SSH Key ID”
  • 完成创建管道

现在你应该可以从你的 CI 服务器使用 Jenkinsfile/pipeline 编辑器了。

附加说明:要使 BlueOcean 功能正常工作,您需要提供正确的安全角色,以允许对 CodeCommit 存储库进行读/写操作。

于 2018-03-20T22:04:57.093 回答