2017-09-04 87 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