2

我的项目是一个节点项目,yarn用于管理 npm 依赖项。

在我的 CI azure 管道中,我有多个作业,所有这些作业都需要运行yarn才能安装 npm 依赖项。因为依赖的数量非常多,安装完成需要将近 4 分钟。

我曾尝试使用管道工件node_modules在它们之间共享文件夹,但是在作业之间发布和下载工件花费了相同的时间(甚至更慢)。

我想知道在这种情况下是否有一种有效的方法可以在管道作业之间共享大数据?

4

2 回答 2

2

最简单的方法是在一个作业中运行任务。或者您可以选择在同一个自托管代理中运行作业,这样您就不需要在同一个环境中安装重复的依赖项。

如果你有特定的理由使用多个作业,你也可以考虑管道缓存。类似的例子:link1link2

于 2020-07-24T08:42:28.410 回答
1

您没有指定使用自托管或 MS-Hosted 的代理类型。如果您不反对使用自托管代理,我建议您创建一个具有必要 NPM 依赖项的代理。您可以使用传统的VMDocker来做到这一点。除此之外,我相信您唯一的选择是在同一个作业中运行所有需要这些依赖项的任务,或者并行运行您的作业以弥补安装 NPM 依赖项所浪费的时间。如果您使用免费版本的 MS-Hosted 代理,则只有在您付费的情况下才能使用并行作业选项。

于 2020-07-23T13:33:50.737 回答