Vagrant + Puppet:无法使用私有存储库运行composer install

时间:2013-11-27 20:32:17

标签: git ssh composer-php vagrant puppet

我正在为工作中的项目设置Vagrant + Puppet。我们使用Composer来管理所有依赖项。一个项目具有我们创建的依赖项,它存储在私有GitHub存储库中。

我已经准备好了Vagrant&木偶。它安装适当版本的PHP,下载并安装Composer,并尝试运行Composer。我说'尝试',因为“作曲家安装”步骤永远不会奏效 - 我们必须使用'vagrant ssh'进入机器后进行配置并自行运行“composer install”。

我在Vagrantfile中启用了SSH代理转发。

我是否需要做一些特别的工作才能让Puppet作为可以访问克隆GitHub存储库所需的SSH密钥的用户运行?我宁愿不让Vagrant将密钥复制到VM(或安装特定目录),因为这可能不适用于所有主机操作系统(我们确实有一些人在Windows机器上开发,并且“〜/ .ssh”不会在那里工作 - 我想)。

有关如何解决此问题的任何想法?

1 个答案:

答案 0 :(得分:1)

如果在使用composer进行安装时机器无法使用SSH密钥,并且您无法提供其他方式来提供凭据以获取对该存储库的访问权限,那么它将无法正常工作。

我不认为你的论点“不将密钥复制到机器中”是有效的,因为你确实控制了VM内部的操作系统。你可以在那里放置一个可用的SSH密钥。

通过HTTPS,部署密钥或计算机用户查看OAuth访问:https://help.github.com/articles/managing-deploy-keys我认为部署密钥是使用Composer的方式。