为了账号安全,请及时绑定邮箱和手机立即绑定

Composer 自定义 GitLab 服务器依赖项

Composer 自定义 GitLab 服务器依赖项

PHP
浮云间 2023-04-15 10:35:43
我们在 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。
查看完整描述

2 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

有没有办法使这项工作?

答案是否定的


查看完整回答
反对 回复 2023-04-15
?
噜噜哒

TA贡献1784条经验 获得超7个赞

GitLab 13.2(2020 年 7 月)提供了替代方案

使用 GitLab Composer Repository 管理 PHP 依赖项

PHP 开发人员需要一种机制来共享和使用他们项目的依赖项。Composer 是 PHP 的依赖管理器,它允许您声明项目所依赖的库,它会为您管理它们。

我们很自豪能够提供直接内置于 GitLab 中的 Composer 存储库。

PHP 开发人员现在可以更轻松地发现和管理其项目的依赖项。通过与 Composer 集成,GitLab 提供了一个集中位置,可以在与源代码和管道相同的位置查看这些包。Package Registry 中的 PHP 依赖项将列在 All 选项卡下,而不是 Composer-specific 选项卡下。我们将通过在即将到来的里程碑中添加特定于 Composer 的选项卡来迭代改进这一点。

查看完整回答
反对 回复 2023-04-15
  • 2 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信