2012-05-23 52 views
2

我有一个在AWS上运行的ec2实例。 Aegir安装和drush make完美安装新的平台,除非我需要从私人github存储库下载主题。如何通过AWS上的Drush Make访问Aegir的私人github存储库

drush make没有访问GitHub的私有库和失败的平台上安装。

我该如何克服这个问题?有没有一些奇特的方式来给Git仓库提供drush make或者aegir用户的ssh密钥?

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

如何使drush make访问私人github存储库?

回答

1

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

1

stevenh512是正确的,一步步的解释如下:

免责声明:我用GitLab +定制VPS在CentOS但相同的工作流程可以在任何托管应用(通过ssh)和GitHub的(PS我爱GitLab私人回购)

  1. 登录到VPS作为埃吉尔,也许你不能(如果配置您的服务器紧紧安全),从而以root身份登录的苏埃吉尔

  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 [email protected] 
    - or - 
    ssh [email protected] 
    
  6. 测试:做一个。使文件并将其保存在某个地方公开(如Dropbox的,右击复制公开网址),如:

    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] = "[email protected]:my_repo.git" 
    projects [my_module_name][download][branch] = "master" 
    
  7. 转到埃吉尔GUI并创建一个新的平台,等待验证(否则你可以ssh作为aegir到服务器并用drush make url进行测试。使文件夹)

警告!这个工作流程不是最安全的!只要尝试一下并配置适当的服务器即可!

信息:这个工作流程也适用于您的本地dev的机器(在Linux,Mac,cygwin的)用在GitHub和GitLab

私有仓库玩
相关问题