0

我正在尝试使用 yarn v2 工作区创建一个 monorepo,然后我想在 gitlab 包注册表中发布每个包,以避免在注册表中已经存在相同版本的情况下每次构建包。我的项目示例在 gitlab 上是公开的:https ://gitlab.com/p.nopleggio/monorepov3

使用此配置一切正常,这两行在.gitlab-ci.yml

yarn workspaces foreach -pt run build
yarn workspaces foreach --no-private npm publish

所有包都是在注册表中构建和发布的,所以没关系。

但现在我试图在工作空间内只构建更改的包,而不仅仅是所有包。所以我只是为了了解如何在注册表中维护这个包@monorepov3/common@1.0.1并以这种方式编辑 .gitlab-ci.yml :

yarn workspace @monorepov3/backoffice-app run build
yarn workspace @monorepov3/backoffice-app npm publish

所以我试图只构建 @monorepov3/backoffice-app包,我想从注册表中检索@monorepov3/common依赖@monorepov3/backoffice-app项,但是当构建命令启动不起作用时,因为没有在@monorepov3/common本地找到并且没有在注册表中查找。

谁能告诉我如何实现这一目标?如何使用注册表中的包构建 ci/cd 管道中的依赖项?

另一个问题是如何只构建已更改的包?

4

0 回答 0