将 ssh 存储库部署到 Openshift NextGen

Deploy an ssh repository to Openshift NextGen

我是 OpenShift 新手,我正在尝试将 Rails 应用程序从私有 BitBucket 存储库部署到 Openshift NextGen。我关注 this page 并将生成的 ssh 密钥提供给 BitBucket。

现在的重点是,根据该页面,您必须在 OpenShift 中创建应用程序,以便在最后一步中为它分配 BuildConfig 对象

oc patch buildConfig <app> -p '{"spec":{"source":{"sourceSecret":{"name":"sshsecret"}}}}'

所以在此之前我 运行 命令

oc new-app --name=<app> ruby~git@bitbucket.org:<username>/<repository>

创建托管在 BitBucket 存储库中的 Rails 应用程序。但是如果我 运行 oc status,应用程序似乎无法构建:

bc/<app> source builds ssh://git@bitbucket.org/<username>/<repository> on openshift/ruby:2.3
  build #1 failed 47 minutes ago
deployment #1 waiting on image or update

Errors:
  * build/<app>-1 has failed.

我是不是漏掉了什么?

编辑: oc logs build/<app>-1 显示以下输出。

Pulling image "registry.ops.openshift.com/rhscl/ruby-23-rhel7@sha256:d89fc‌​0753fbace518d433f3a9‌​95149d70fef69be06a4c‌​e350745277a8ac68e91" ... 
Pulling image "registry.ops.openshift.com/rhscl/ruby-23-rhel7@sha256:d89fc‌​0753fbace518d433f3a9‌​95149d70fef69be06a4c‌​e350745277a8ac68e91" ... 
Cloning "ssh://git@bitbucket.org/<username>/<repository>.git" ... 
error: build error: Host key verification failed. 
fatal: Could not read from remote repository. 
Please make sure you have the correct access rights and the repository exists.

编辑 2:我通过连接到 oc 中的 GitHub ssh 存储库重现了该问题。同样的程序,我将我的 ssh public 密钥上传到 GitHub 并且 oc 无法构建并出现相同的错误。所以到目前为止,这不再是与 BitBucket 或 GitHub 相关的问题,必须与 OpenShift 或 Git 识别密钥的方式有关,即使不是我的机器。 .

编辑 3:我想指出命令 oc patch buildConfig <app> -p '{"spec":{"source":{"sourceSecret":{"name":"sshsecret"}}}}' 没有价值,因为我在应用程序创建后 运行 它然后立即用 oc start-build --from-build=<app>-1 重建应用程序,但它再次失败,结果相同。我也不确定之前的命令是否是正确重建应用程序的正确命令。

非常感谢任何帮助,在此先感谢。

根据您的额外日志,您需要确保您对 git 存储库拥有适当的权限。如果您已按照文档进行操作,则只需确保您的密钥也在 bitbucket 中。

确保您已成功将私钥上传到 OpenShift。因为在部署过程中,其中一台 openshift 的服务器正在克隆你的 repo 而不是你的本地主机。

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

已解决。我刚刚使用

创建了一个连接到新密钥的新密钥
oc secrets new-sshauth sshsecret2 --ssh-privatekey=$HOME/.ssh/id_rsa

所以将名称从 sshsecret 更改为 sshsecret2 并重复上述过程。显然之前的secret配置不正确

我还要感谢 Upwork 自由职业者 Dwi Prihandi 为这个问题做出的贡献。