【发布时间】:2018-09-05 17:24:53
【问题描述】:
为了管理我的库,我使用 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"
}
]
此配置is explained in the Composer Documentation(它也可以在没有 Satis 的情况下使用,除了 Heroku 的“问题”:) - 或我认为的其他云托管)。
关于身份验证,解释如下:
请注意,如果您的私有包托管在 GitHub 上,则您的服务器 应该有一个 ssh 密钥,可以访问这些包,并且 那么你应该在命令中添加--no-interaction(或-n)标志 以确保它回退到 ssh 密钥身份验证而不是 提示输入密码。这也是连续的好技巧 集成服务器。
现在,问题是 2:
- BitBucket 有deployment keys,但我也可以set a SSH key。
- 什么 关于Heroku SSH keys?
那么,我怎样才能让 Heroku 访问我在 BitBucket 上的私人存储库?
如何通过 Heroku 在部署时执行的 composer install 命令下载托管在 BitBucket 上的私有存储库?
【问题讨论】:
-
您可能希望将部署密钥添加到 Bitbucket(公共部分)并在 Heroku(私有部分)中使用。
-
你能告诉我更多吗?
-
@Aerendir 你解决过这个问题吗???还是您放弃了使用heroku?大声笑...谢谢
-
我使用名为 GemFury 的第三方服务解决了...
-
谢谢...我希望使用密钥对来完成它...
标签: git heroku deployment ssh composer-php