Aer*_*dir 6 git deployment ssh heroku composer-php
为了管理我的库我使用Composer,所以我设置了依赖项composer.json,然后添加(永远composer.json)代码所在的私有存储库的远程地址.
运行时,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"
}
]
Run Code Online (Sandbox Code Playgroud)
这个配置在作曲家文档中有解释(它也可以在没有Satis的情况下工作,除了Heroku :)的"问题" - 或者我认为的其他云托管.
在那里,关于身份验证,解释:
请注意,如果您的私有软件包托管在GitHub上,您的服务器应该有一个ssh密钥,使其能够访问这些软件包,然后您应该在命令中添加--no-interaction(或-n)标志以确保它回退到ssh密钥身份验证而不是提示输入密码.这对于持续集成服务器来说也是一个很好的技巧.
现在,问题是2:
那么,我怎样才能让Heroku访问BitBucket上的私有存储库?
如何从composer installHeroku部署的命令下载BitBucket上托管的私有存储库?
正确的答案是COMPOSER_AUTH直接在 Heroku 仪表板中设置环境变量。
变量的值应该是这样的:
{
"http-basic":{
"bitbucket.org":{
"username":"hello@aerendir.me",
"password":"y0UrH4rdT0Gu3sSp4SsW0rd"
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果设置,Composer 将读取它并使用它的值连接到 BitBucket。
这是正确的方法,因为它是安全的,并且不会强迫您通过您使用(或将使用)构建和部署应用程序的各种服务使密码在网络上传播。
参考:
| 归档时间: |
|
| 查看次数: |
2605 次 |
| 最近记录: |