2017-09-04 89 views
2

我正在尝试使用托管的VSTS构建代理对我们的AngularCLI项目运行单元测试,但是当它尝试运行“ng测试”时,它仍然遇到麻烦。无法从VSTS代理运行'ng'

为了解决这个问题,我试图让代理直接通过提供工具的路径来使用ng工具。这没有奏效,因为它看起来像它试图运行“NG测试”,其中工具,而不是在指定的当前工作目录:

enter image description here

enter image description here

我也试着将其添加为Windows中的环境变量(我们使用Windows Server 2012来托管VSTS代理),并将该工具设置为VSTS代理,只是ng但是它似乎并未找到ng工具:

enter image description here enter image description here

我该如何让VSTS代理使用ng工具来运行测试?我们已经在托管代理的服务器上安装了@ angular/cli。

+0

如果直接在代理机器中运行'ng test'命令,结果如何? –

+0

它工作正常,如果我们在本地运行它,但是我们从我们自己的用户帐户在机器上运行它而不是从VSTS代理运行的NetworkService帐户 – Novastorm

回答

3

问题是,您不会在全球范围内在VSTS上安装角度cli,因为其构建服务器不支持该角色。但是,您甚至不需要全球安装在您的代理上的cli。

所有你需要的是npm run ng build -- prod - 这种方式将始终运行本地版本。这种方式也不需要照顾更新你的全局包。

使用npm run ng test来运行测试,npm run ng e2e运行量角器。如果你需要通过任何更多的参数,只需使用--

+0

谢谢Kuncevic,运行npm而不是cmd测试得到它工作:) – Novastorm