如何通过AWS上的Drush Make从Aegir访问私有github存储库

时间:2012-05-23 22:35:54

标签: drupal ssh github amazon-web-services drush

我在AWS上运行了一个ec2实例。 Aegir安装drush make非常适合安装新平台,除非我需要从私有github存储库下载主题。

drush make无法访问github私有存储库 ,导致平台安装失败。

我如何克服这个?是否有一些奇特的方法可以为git存储库提供drush make或aegir用户ssh密钥?

我对ssh-agent了解不多,但我想可能会在我的服务器上一直运行,所以aegir可以访问我的github。

如何让drush make访问私有github存储库?

2 个答案:

答案 0 :(得分:1)

在EC2实例上生成SSH密钥,然后将公钥(通常为id_rsa.pub)作为deoploy密钥添加到私有存储库。

答案 1 :(得分:1)

stevenh512是对的,下面是一步一步的解释:

免责声明:我在Centos上使用GitLab +自定义VPS,但同样的工作流程可以应用于任何主机(使用ssh)和GitHub(ps我喜欢GitLab用于私人回购)

  1. 以aegir身份登录VPS,可能您不能(如果您将服务器配置得非常安全),请以root身份登录su aegir

  2. 转到主目录(cd / var / aegir)并检查您是否有SSH密钥。如果你有一步跳跃。

    cat ~/.ssh/id_rsa.pub
    
  3. 如果您没有创建一个并且不使用密码短语(更多信息http://community.aegirproject.org/node/30#SSH_keys,但如果您想要密码短语,则有解决方案)。创建后,您将获得密钥的随机图像。 (研究SSH对安全性来说太重要了!)

    ssh-keygen -t rsa
    
  4. 复制密钥,然后转到GitHub / Lab->帐户/配置文件设置 - > SSH密钥 - >添加SSK密钥。对于标题,提供您想要的任何内容(例如:Aegir Key),并从您的服务器粘贴密钥。

    cat ~/.ssh/id_rsa.pub
    
  5. 现在回到服务器,您必须将Git添加为已知主机,我们采用简单的方法:只需使用ssh登录并在要求连接时键入yes。准备!!

    ssh git@github.com
    - or -
    ssh git@gitlab.com
    
  6. 测试:创建.make文件并将其保存在公共场所(如Dropbox,右击复制公共URL),如:

    core = 7.x
    api = 2
    projects[drupal][version] = 7.26
    projects [my_module_name][type] = "module"
    projects [my_module_name][download][type] = "git"
    projects [my_module_name][download][url] = "git@gitlab.com:my_repo.git"
    projects [my_module_name][download][branch] = "master"
    
  7. 转到aegir gui并创建一个新平台并等待验证(否则您可以将ssh作为aegir发送到服务器并使用drush make url.make文件夹进行测试)

  8. 警告!此工作流程不是最安全的!只需试用它并配置适当的服务器!

    信息:此工作流程也可用于本地开发机器(linux,mac,cygwin),以便在GitHub和GitLab上使用私有存储库