Ubuntu Vagrant puppet-无法使用专用存储库运行composer安装

Ubuntu Vagrant puppet-无法使用专用存储库运行composer安装,ubuntu,ssh,repository,composer-php,puppet,Ubuntu,Ssh,Repository,Composer Php,Puppet,因此,我的问题基本上与这个问题非常相似: 我试图让composer使用puppet在Ubuntu12.04上安装部署的应用程序 作为composer运行的一部分,我尝试安装的其中一个包需要部署密钥。作为puppet运行的一部分,我已将部署密钥(私有、公共、授权和已知的\u主机)复制到vagrant users主目录(/home/vagrant/.ssh/) 这就是我的问题与参考问题的不同之处,安全性不是一个问题,也不是此版本的多操作系统兼容性,因此我很高兴将密钥复制到框中,我已经完成了 我还将

因此,我的问题基本上与这个问题非常相似:

我试图让composer使用puppet在Ubuntu12.04上安装部署的应用程序

作为composer运行的一部分,我尝试安装的其中一个包需要部署密钥。作为puppet运行的一部分,我已将部署密钥(私有、公共、授权和已知的\u主机)复制到vagrant users主目录(
/home/vagrant/.ssh/

这就是我的问题与参考问题的不同之处,安全性不是一个问题,也不是此版本的多操作系统兼容性,因此我很高兴将密钥复制到框中,我已经完成了

我还将这个密钥加载到users.profile中,这样如果我使用ssh连接到机器上,我就可以运行composer安装,一切都正常运行。问题是,我想让应用程序作为puppet运行的一部分进行安装,我正在努力让它正常工作(所有程序都会安装,直到它到达需要部署密钥的包为止)

My
composer.json
当前包含以下内容(当前尝试使其工作):

My puppet run使用vcsrepo(允许您传入密钥)从git提取回购:

这一部分工作正常,但当我按如下方式运行composer安装时,当它命中composer.json中引用的包时,它就会死掉:

composer::exec { 'site-composer-run':
    cmd     => 'install',
    cwd     => '/var/www/site.dev',
    require => [
      Class['composer'],
      Vcsrepo["/var/www/site.dev"]
    ]
  }

我认为我需要的是一种为用户添加ssh密钥的方法,而不需要将用户连接到bash终端,但我不太确定,因此我愿意接受任何建议。提前感谢。

“它死了”-错误信息是什么?同意作曲家的错误会有帮助。这是可以通过密钥转发实现的吗?我相信这是最理想的方式。
vcsrepo { "/var/www/site.dev":
    require => [ File["/home/vagrant/.ssh/key"]  ],
    ensure   => present,
    owner    => vagrant,
    provider => git,
    source   => "ssh://git@bitbucket.org/account/site.git",
    revision => 'master',
    identity => '/home/vagrant/.ssh/key',
}
composer::exec { 'site-composer-run':
    cmd     => 'install',
    cwd     => '/var/www/site.dev',
    require => [
      Class['composer'],
      Vcsrepo["/var/www/site.dev"]
    ]
  }