如何将 gitlab 合并请求用作 npm 模块

Posted

技术标签:

【中文标题】如何将 gitlab 合并请求用作 npm 模块【英文标题】:How to use the gitlab merge request as a npm module 【发布时间】:2021-11-05 20:58:50 【问题描述】:

假设有两个 npm 项目,package-a 和 package-b,它们托管在一个私有 gitlab 实例中。 package-a 通过 git+ssh 协议依赖 package-b。

现在作为一名工程师,我需要修改 package-b 中的一些代码。在我将我的更改合并到主干分支之前,我希望我可以使用 package-a 测试我的更改以避免意外的错误。如何让 package-a 使用包含未合并更改的 package-b?

【问题讨论】:

【参考方案1】:

Gitlab 为合并的合并结果提供了对应的refs/merge-requests/$iid/merge,可以用于此目的。

假设你在 project-b 中的合并请求 id 是 106,那么你可以在 project-a 中运行以下命令来测试你的合并请求

npm install 'git+ssh://git@git.yourcompany.com:products/package-b.git#merge-requests/106/merge'

更多阅读:https://gitlab.com/gitlab-org/gitlab-foss/-/issues/47110

【讨论】:

以上是关于如何将 gitlab 合并请求用作 npm 模块的主要内容,如果未能解决你的问题,请参考以下文章

从 Gitlab 私有存储库导入节点模块时出错

如何防止 Gitlab 在分支合并上创建额外的合并提交

如何在 Gitlab 中成功的管道结束时创建合并请求?

批准合并请求时如何压缩提交,gitlab

在 GitLab 中创建合并请求失败

如何让 Gitlab CI 管道始终运行一些作业,而其他作业仅在合并请求上运行?