Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.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 Openshift SSH从私有repo克隆子模块时出错_Git_Openshift - Fatal编程技术网

Git Openshift SSH从私有repo克隆子模块时出错

Git Openshift SSH从私有repo克隆子模块时出错,git,openshift,Git,Openshift,我知道以前有人问过这个问题,但我找不到一个解决方案,它不涉及公开存储库和/或在URL中使用带有密码的https,而不是带有密钥的ssh 我的问题与上面描述的基本相同: 长话短说,有一个子模块和一个主应用程序都存储在github上的私有git存储库中。在openshift上,由于SSH身份验证问题,当实例尝试更新子模块时,部署推送失败 按照上面的线程建议,我尝试为git设置一个包装器,在app root数据目录中使用key和know_host文件,并使用.bash_profile、rhc set

我知道以前有人问过这个问题,但我找不到一个解决方案,它不涉及公开存储库和/或在URL中使用带有密码的https,而不是带有密钥的ssh

我的问题与上面描述的基本相同:

长话短说,有一个子模块和一个主应用程序都存储在github上的私有git存储库中。在openshift上,由于SSH身份验证问题,当实例尝试更新子模块时,部署推送失败

按照上面的线程建议,我尝试为git设置一个包装器,在app root数据目录中使用key和know_host文件,并使用.bash_profile、rhc set env、pre_build hook或Steven Merrill git SSH helper cartridge设置git_SSH环境变量。当您在机器中使用ssh时,它可以正常工作,但在执行部署推送时,它不能正常工作,就好像GIT_ssh使用的是默认的而不是新设置的一样

我的问题是:

我有没有办法设置GIT_SSH以便在任何时候都使用,而不仅仅是在机器中使用SSH? 有没有办法禁用git子模块update-init-recursive,以便稍后通过脚本启动它? 为什么SSH公钥在Openshift中不可见且已知的_主机不可写? 谢谢你的帮助

编辑:
当我在机器中SSH并执行gear deploy HEAD时,使用/var/lib/openshift/.SSH/known_hosts而不是/var/lib/openshift//app root/data/.SSH/known_hosts

我对您的问题的猜测:

我不这么认为:这需要在bash概要文件中设置变量,但这不可编辑。我尝试使用rhc evn set命令,但是 据我所知没有 我认为这是出于安全考虑。用户只能写入$OPENSHIFT\u DATA\u DIR 然而,回到你的原始问题,我认为你可以使用我在中使用的相同方法

我找到的解决方案不是最优的,但至少我不需要使用登录/密码对来访问我的私人回购协议