私有仓库中的Openshift SSH错误克隆子模块

时间:2014-09-21 10:15:40

标签: git openshift

我知道之前有人问过,但我找不到一个解决方案,该解决方案并不涉及将存储库公开和/或在网址中使用带密码的https(而不是带密钥的ssh)。

我的问题与那里描述的基本相同:https://www.openshift.com/forums/openshift/gitssh-in-bashprofile-not-working-for-git-push-and-causes-error-cloning-submodules

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

按照上面的线程建议我尝试为git设置一个包装器,使用key和know_host文件创建app-root数据目录并设置一个GIT_SSH环境变量(使用.bash_profile,rhc set-env,pre_build hook或Steven Merrill GIT) SSH助手盒)。当你在机器上ssh时它工作正常,但是在执行部署推送时它没有好像GIT_SSH使用的是默认的而不是新设置的。

我的问题:

  1. 任何方式我都会设置GIT_SSH,而不仅仅是在机器上SSH时使用?
  2. 任何方法我都可以禁用git子模块更新--init --recursive,以便我以后可以通过脚本启动它吗?
  3. 为什么SSH公钥不可见,而且known_hosts在Openshift中不可写?
  4. 谢谢你的帮助!

    编辑: 当我在机器中进行SSH并执行一个"齿轮部署HEAD"时,使用/var/lib/openshift//.ssh/known_hosts代替/ var / lib / openshift // app-root / data /.ssh/known_hosts

1 个答案:

答案 0 :(得分:0)

我猜你的问题:

  1. 我不这么认为:那需要在bash配置文件中设置变量,但是这不可用于编辑。我尝试使用rhc evn set命令但it did not work
  2. 不是我所知道的
  3. 我认为这是出于安全原因。用户只能写入$ OPENSHIFT_DATA_DIR
  4. 但是,回到源问题,我认为您可以使用我在Openshift: how to install python modules from private repository?中使用的相同方法。

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