【发布时间】:2018-01-18 00:56:45
【问题描述】:
我正在为我公司的两个私人项目使用作曲家。此外,我们使用了两个项目都需要的自制库。要恢复,有三个 repos:
- 图书馆
- 项目1
- 项目2
所有三个存储库都是私有的并托管在 GitLab 上。
我的问题是,当我在处理项目时,我正在使用我的个人 SSH 密钥,该密钥链接到我的 GitLab 帐户来下载库。但是当我想部署时,生产服务器没有个人 SSH 密钥,也没有 GitLab 帐户。我搜索了一个解决方案,我发现了这个:
- 在 GitLab 中为库创建只读部署密钥
- 在两个项目中都包含私有和公共
- 编辑 composer.json 如下:
"repositories": [
{
"type": "vcs",
"url": "git@gitlab.com:{compagny}/{library}.git",
"options": {
"ssh2": {
"pubkey_file": ".ssh/gitlab_{library}_id_rsa.pub",
"privkey_file": ".ssh/gitlab_{library}_id_rsa"
}
}
}
],
[...]
注意事项:
-
{}是占位符 - .ssh 文件夹位于项目根目录中。
但是当我运行 composer update 时,我被要求以普通用户身份输入 GitLab 凭据。如何避免这种情况并使用给定的密钥来检索库代码?
【问题讨论】:
标签: git ssh composer-php gitlab