【问题标题】:Correct way to use npm-cache VS Team Services使用 npm-cache VS Team Services 的正确方法
【发布时间】:2017-06-14 13:26:38
【问题描述】:

我目前正在使用npm install 为 Angular2 项目 CI 项目安装所有包,但是此步骤已开始增加构建代理构建项目所需的时间。我想通过使用 npm-cache 命令来缩短 CI 管道的构建运行时间,但是我不断尝试通过构建代理运行命令失败。

我尝试过使用命令行步骤:

这会导致错误File name doesn't indicate a full path to a executable file。

我也尝试过添加一个 npm 步骤:

结果如下:

2017-06-14T13:01:13.2274922Z [命令]C:\Program Files\nodejs\npm.cmd 缓存安装

2017-06-14T13:01:19.8609829Z npm 错误!用法:npm缓存添加tarball文件

2017-06-14T13:01:19.8630626Z npm 错误! npm 缓存添加文件夹

2017-06-14T13:01:19.8630626Z npm 错误! npm 缓存添加 tarball url

2017-06-14T13:01:19.8640981Z npm 错误! npm 缓存添加 git url

2017-06-14T13:01:19.8651863Z npm 错误! npm 缓存添加名称@版本

2017-06-14T13:01:19.8661607Z npm 错误! npm 缓存 ls 路径

2017-06-14T13:01:19.8672137Z npm 错误! npm 缓存清理 pkg@version

从 Team Services 调用 npm cache 的正确方法是什么?

【问题讨论】:

  • 您是使用自己的代理还是托管代理?
  • 我们正在使用本地代理

标签: npm continuous-integration repository azure-devops


【解决方案1】:

你需要先安装 npm-cache 包,然后通过命令行任务调用 npm-cache 命令。

  1. 添加 npm 任务(npm 命令:安装;参数:npm-cache -g)
  2. 添加命令行任务(工具:C:\\Windows\\ServiceProfiles\\NetworkService\\AppData\\Roaming\\npm\\npm-cache;参数:install;工作文件夹:$(Build.SourcesDirectory))

节点:前面的步骤使用 私有构建代理,该代理使用 NetworkService 帐户作为服务运行。您可以将C:\\Windows\\ServiceProfiles\\NetworkService\\AppData\\Roaming\\npm添加到系统环境变量中(需要重启机器)并直接调用npm-cache命令。

您也可以更改构建代理帐户以使用您的帐户(默认C:\Users\[user name]\AppData\Roaming\npm已添加到用户环境变量中),然后在安装后调用npm-cache命令npm-cache 带有 -g 参数的包)

另一方面,主机代理不会缓存包,所以如果您使用托管代理,它是无用的。

【讨论】:

  • 我真的非常感谢你,按照这些步骤,我设法让 npm-cache 工作,现在它缩短到 100 秒而不是 6 分钟 - 谢谢!
猜你喜欢
  • 2017-01-15
  • 1970-01-01
  • 1970-01-01
  • 2018-05-19
  • 1970-01-01
  • 1970-01-01
  • 2023-04-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多