在不同的 Azure Pipeline 作业之间共享 node_modules 的有效方法

sup*_*uan 5 azure-pipelines azure-pipelines-yaml

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

在我的 CI azure 管道中,我有多个作业,所有这些作业都需要运行yarn来安装 npm 依赖项。由于依赖的数量比较多,所以大约需要4分钟才能安装完毕。

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

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

小智 1

您没有指定您使用的代理类型是自托管还是 MS 托管。如果您不反对使用自托管代理,我建议创建一个具有可用的必要 NPM 依赖项的代理。您可以使用传统的VMDocker来完成此操作。除此之外,我相信您唯一的选择是在同一作业中运行需要这些依赖项的所有任务,或者并行运行您的作业以弥补安装 NPM 依赖项所损失的时间。如果您使用 MS 托管代理的免费版本(仅当您付费),并行作业选项将不可用。