Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 将ssh存储库部署到Openshift NextGen_Git_Ssh_Openshift_Public Key_Openshift Client Tools - Fatal编程技术网

Git 将ssh存储库部署到Openshift NextGen

Git 将ssh存储库部署到Openshift NextGen,git,ssh,openshift,public-key,openshift-client-tools,Git,Ssh,Openshift,Public Key,Openshift Client Tools,我是一名OpenShift新手,我正在尝试从一个私有的BitBucket存储库将Rails应用程序部署到OpenShift NextGen。我随后将生成的ssh密钥交给了BitBucket 现在关键是,根据该页面,您必须在OpenShift中创建应用程序,以便在最后一步中使用 oc-patch-buildConfig-p'{“spec”:{“source”:{“sourceSecret”:{“name”:“sshsecret”}}}' 所以在这之前我运行了命令 oc新应用程序--name=rub

我是一名OpenShift新手,我正在尝试从一个私有的BitBucket存储库将Rails应用程序部署到OpenShift NextGen。我随后将生成的ssh密钥交给了BitBucket

现在关键是,根据该页面,您必须在OpenShift中创建应用程序,以便在最后一步中使用

oc-patch-buildConfig-p'{“spec”:{“source”:{“sourceSecret”:{“name”:“sshsecret”}}}'

所以在这之前我运行了命令

oc新应用程序--name=ruby~git@bitbucket.org:/

创建托管在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.
bc/源代码构建ssh://git@bitbucket.org//on openshift/ruby:2.3
构建1在47分钟前失败
部署#1正在等待映像或更新
错误:
*生成/-1失败。
我错过什么了吗

编辑:
oc logs build/-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.
pull image”registry.ops.openshift.com/rhscl/ruby-23-rhel7@sha256:d89fc‌​0753fbace518d433f3a9‌​95149d70fef69be06a4c‌​e350745277a8ac68e91“。。。
拉取图像“registry.ops.openshift.com/rhscl/ruby-23-rhel7@sha256:d89fc‌​0753fbace518d433f3a9‌​95149d70fef69be06a4c‌​e350745277a8ac68e91“。。。
克隆”ssh://git@org/.git“。。。
错误:生成错误:主机密钥验证失败。
致命:无法从远程存储库读取。
请确保您具有正确的访问权限,并且存储库存在。
编辑2:通过连接到oc中的GitHub ssh存储库,我重现了这个问题。同样的过程,我将ssh公钥上传到GitHub,oc构建失败,出现了相同的错误。因此,到目前为止,这不再是与BitBucket或GitHub相关的问题,这一定与OpenShift或Git识别密钥的方式有关,即使不是我的机器

编辑3:我想指出,命令
ocpatchbuildconfig-p'{“spec”:{“source”:{“sourceSecret”:{“name”:“sshsecret”}}}}}}}}{/code>没有任何价值,因为我在创建应用程序后运行了它,然后立即用
ocstart build--from build=-1
重新构建了应用程序,但它再次失败,结果相同。我也不确定上一个命令是否是正确重建应用程序的命令


任何帮助都将不胜感激,提前感谢。

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

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

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

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

确保已成功将私钥上载到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
,并重复上述过程。显然之前的秘密配置不正确


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

解决了。我刚刚创建了一个新的秘密连接到一个新的密钥

oc secrets new-sshauth sshsecret2 --ssh-privatekey=$HOME/.ssh/id_rsa
因此,将名称从
sshsecret
更改为
sshsecret2
,并重复上述过程。显然之前的秘密配置不正确


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

当您运行
oc logs build/app-1
pull image”registry.ops.openshift.com/rhscl/ruby-23时,您得到了什么-rhel7@sha256:d89fc0753fbace518d433f3a995149d70fef69be06a4ce350745277a8ac68e91“。。。拉取图像“registry.ops.openshift.com/rhscl/ruby-23-rhel7@sha256:d89fc0753fbace518d433f3a995149d70fef69be06a4ce350745277a8ac68e91“。。。克隆”ssh://git@org/.git“。。。错误:生成错误:主机密钥验证失败。致命:无法从远程存储库读取。请确保您具有正确的访问权限,并且存储库存在。
当您运行
oc logs build/app-1
pull image”registry.ops.openshift.com/rhscl/ruby-23时,您会得到什么-rhel7@sha256:d89fc0753fbace518d433f3a995149d70fef69be06a4ce350745277a8ac68e91“。。。拉取图像“registry.ops.openshift.com/rhscl/ruby-23-rhel7@sha256:d89fc0753fbace518d433f3a995149d70fef69be06a4ce350745277a8ac68e91“。。。克隆”ssh://git@org/.git“。。。错误:生成错误:主机密钥验证失败。致命:无法从远程存储库读取。请确保您具有正确的访问权限,并且存储库存在。
但密钥已在BitBucket中。。。它与我的
~/.ssh/id\u rsa.pub
文件中的公钥相同,但该密钥已在BitBucket中。。。这是我的
~/.ssh/id\rsa.pub
文件中的同一公钥运行上述命令从服务器返回我
错误:secrets“sshsecret”已存在
因此该密钥与OpenShift关联,但应用程序仍无法生成。运行上述命令从服务器返回我
错误:secrets“sshsecret”已存在
,因此密钥与OpenShift关联,但应用程序仍无法生成。