我们在 VPN 后面有一个公司的 GitLab 服务器。那里的包被设置为公开的,但它们实际上是“私有的”,因为未经我们的 VPN 授权您无法访问存储库。
我创建了一个存储库,它依赖于其他存储库(在同一台服务器上)。
回购 1:
"name": "xxx/repo1",
"repositories": [
{
"type": "vcs",
"url": "http://pvt/repo2"
}
],
"require": {
"xxx/repo2": "dev-master"
},
回购 2:
"name": "xxx/repo2"
我遇到的问题是当我尝试repo1在我的其他服务之一中使用时。
"name": "other/service",
"repositories": [
{
"type": "vcs",
"url": "http://pvt/repo1"
}
],
"require": {
"xxx/repo1": "dev-master"
},
"minimum-stability": "dev",
"prefer-stable": true,
这样做composer install只是告诉我repo2找不到。我可以这样解决:
"name": "other/service",
"repositories": [
{
"type": "vcs",
"url": "http://pvt/repo1"
},
{
"type": "vcs",
"url": "http://pvt/repo2"
}
],
"require": {
"xxx/repo1": "dev-master"
},
但这远非理想。如果我有 10 个服务并且都需要repo1运行,那么在里面引入一个新的依赖项repo1需要我更改 10 个composer.json文件。
为什么这个功能不像其他依赖项那样起作用,以便自动提取所请求包的所有必需依赖项?
我尝试将其添加到配置中:
"config": {
"gitlab-domains": [
"pvt"
],
"gitlab-token": {
"pvt" : "---my-token---"
}
},
但这基本上什么也没做。
我也尝试pvt用确切的服务器 IP 替换,但没有任何改变。
有没有办法使这项工作?
注意:我不想使用任何外部服务,如 Private Packagist 或 Satis。
Smart猫小萌
噜噜哒