2016-12-06 59 views
1

我是一个OpenShift新手,我试图从一个私人BitBucket存储库部署一个Rails应用程序到Openshift NextGen。我跟着this page,并在生成的ssh密钥给BitBucket。部署一个ssh仓库到Openshift NextGen

现在的问题是,根据该页面,你必须以与

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

为它分配BuildConfig对象在最后一步创建OpenShift的应用程序,所以在此之前,我跑的命令

oc new-app --name=<app> [email protected]:<username>/<repository>

创建托管在BitBucket存储库中的Rails应用程序。但是,如果我跑oc status,看来该应用程序未能建立:

bc/<app> source builds ssh://[email protected]/<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/[email protected]:d89fc‌​0753fbace518d433f3a9‌​95149d70fef69be06a4c‌​e350745277a8ac68e91" ... 
Pulling image "registry.ops.openshift.com/rhscl/[email protected]:d89fc‌​0753fbace518d433f3a9‌​95149d70fef69be06a4c‌​e350745277a8ac68e91" ... 
Cloning "ssh://[email protected]/<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公钥到GitHub,并且无法构建相同的错误。因此,到目前为止,它不再是与BitBucket或GitHub相关的问题,必须有一些与OpenShift或Git识别密钥的方式有关,即使不是我的机器...

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

任何帮助将不胜感激,在此先感谢。

+0

在执行'OC原木建造/ APP-1' – thisguy123

+0

'拉形象“registry.ops.openshift.com/rhscl/[email protected]:d89fc0753fbace518d433f3a995149d70fef69be06a4ce350745277a8ac68e91”你得到了什么? 拉图像“registry.ops.openshift。COM/rhscl /红宝石23 rhel7 @ SHA256:d89fc0753fbace518d433f3a995149d70fef69be06a4ce350745277a8ac68e91" ...... 克隆 “SSH://[email protected]/ / git的” ... 错误:建立自己的错误:主机密钥验证失败。 fatal:无法从远程存储库读取 请确保您拥有正确的访问权限 并存在存储库。' – Simon

回答

1

已解决。我刚刚创建连接到一个新的密钥生成新的秘密与

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

所以从sshsecret更改名称sshsecret2并重复上述过程。显然以前的秘密没有正确配置。

我还要感谢Upwork的自由职业者Dwi Prihandi对这个问题有所贡献。

0

根据您的额外日志,您需要确保您对git存储库拥有适当的权限。如果你遵循了文档,你只需确保你的密钥也在bitbucket中。

+0

但是,密钥已经在BitBucket中......它与我的'〜/ .ssh/id_rsa.pub'文件 – Simon

-1

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

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

运行上述命令会返回'从服务器发出错误:秘密“sshsecret”已存在“,因此该密钥与OpenShift关联,但该应用程序仍不会生成。 – Simon