运行composer update/install时,我会被要求提供访问这些私有存储库的访问密钥。
现在,我正在尝试将Symfony 2应用程序部署到Heroku。
当Heroku尝试从我的私有存储库下载软件包时,问题出现了:我如何向Heroku提供访问这些存储库的权限?
以下是一个示例composer.json配置:
"require": {
"my/private-package": "~1.0",
},
"repositories": [
{
"type": "git",
"url": "https://Aerendir@bitbucket.org/Aerendir/private-package"
}
]
这个配置在Composer文档中有解释(即使没有Satis,也可以工作,除了在Heroku上的“问题”:)- 或其他云托管服务我想)。
有关身份验证的部分如下所述:
请注意,如果您的私有软件包托管在GitHub上,则您的服务器应该具有允许其访问这些软件包的ssh密钥,然后您应该将--no-interaction(或-n)标志添加到命令中,以确保它回退到ssh密钥身份验证而不是提示输入密码。这也是持续集成服务器的好技巧。
现在,问题有两个:
- BitBucket有部署密钥,但我也可以设置SSH密钥。
- Heroku SSH密钥怎么样?
那么,我如何让Heroku访问我在BitBucket上的私有存储库?
我如何从Heroku在部署时执行的composer install
命令中下载托管在BitBucket上的私有存储库?