使Openshift V3与Github repo连接

时间:2017-08-26 11:10:06

标签: github openshift credentials

我很难将OpenShift V3与我的Github repo连接起来。我尝试按照https://learn.openshift.com上的教程进行操作,但他们没有详细说明OpenShift和Github之间的凭据问题

然后,我尝试通过CLI运行新的应用程序进程。也没有成功。

Cloning "https://github.com/<repo>" ...
error: build error: failed to fetch requested repository "https://github.com/<repo>" with provided credentials

当我查看日志时,它说Openshift无法连接Github端的回购

SSH keys

更新
通过 user2983542 Graham Dumpleton 的非常有用的答案和评论,我创建了公共和私有secret使用以下tutorial。我用passphase创建了密钥,但是我对OpenShift blog的以下语句有点困惑:

  

一个优点是OpenShift不允许您使用私钥具有密码的密钥对。我确信您遵循的最佳做法是,您的主要身份SSH密钥应始终具有密码;这样可以防止您无意中使用主身份SSH密钥。

无论如何,我试图继续使用passphase ...我在Github端部署了公钥。之后,我在OpenShift上创建了kubernetes.io/ssh-auth类型triggers: - github: secret: M6_whatever... type: GitHub ,并将其作为环境变量与部署相关联。

BuildConfig的Github部分如下所示:

--> Scaling myappname-1 to 1
--> Waiting up to 10m0s for pods in rc myappname-1 to become ready
error: update acceptor rejected myappname-1: pods for rc "myappname-1" took longer than 600 seconds to become ready

部署失败,并显示以下消息:

{{1}}

请你指出我做错了什么?

2 个答案:

答案 0 :(得分:2)

您需要创建源克隆密钥。根据您运行的OpenShift版本,可能有不同的选项。 SSH密钥身份验证应该是所有版本的标准。

您应该生成一个新的SSH密钥对并将您的公钥上传到Github。 See the docs at Github for instructions您只需要使用私钥创建一个秘密。例如:

oc secrets new-sshauth sshsecret \ --ssh-privatekey=$HOME/.ssh/id_rsa_examplekey

然后,您可能需要使用builder

将此密钥与oc secrets link new-sshauth服务帐户相关联

有关3.6的更多信息和选项,请参阅OpenShift文档here,但请根据需要参考您自己的版本

最后,您需要更新BuildConfig对象以引用新秘密。 oc set build-secret --source bc/example-build sshsecret

答案 1 :(得分:1)

我希望我对这个线程还不算太晚,但是我在任何地方都找不到合适的解决方案,并且在相当长的一段时间内都在挣扎。我尝试使用相同的UI,遵循从创建SSH密钥到为帐户“ builder”创建密钥的确切步骤,但最终出现相同的错误。以下步骤可能会对仍在寻找解决方案的人们有所帮助

对我有用的是使用“使用SSH克隆”而不是“使用HTTPS克隆”中的仓库网址

Screenshot