我正在尝试使用托管的VSTS构建代理对我们的AngularCLI项目运行单元测试,但是当它尝试运行'ng test'时它一直遇到麻烦。
要解决此问题,我尝试通过提供工具的路径,使代理直接使用ng工具。这没有用,因为看起来它试图运行'ng test'工具而不是在指定的当前工作目录中:
我还尝试将其添加为Windows中的环境变量(我们使用Windows Server 2012来托管VSTS代理)并将VSTS代理中的工具设置为will-change: transform;
,但它没有'似乎找到了ng工具:
如何让VSTS代理使用ng
工具运行测试?我们在托管代理的服务器上安装了@ angular / cli。
答案 0 :(得分:8)
问题是你没有在VSTS上全局安装angular cli,因为它的构建服务器不支持它。但是你甚至不需要在代理上全局安装cli。
您只需要npm run ng build -- prod
- 这样它将始终运行本地版本。另外,这样您根本不需要更新全局包。
使用npm run ng test
运行测试,npm run ng e2e
运行量角器。如果您需要将更多参数传递给其中任何一个,请使用--
答案 1 :(得分:0)
如@Kuncevic所述,要在不全局安装的情况下使用Angular CLI,您将需要使用npm run
命令。
要使用Azure Devops运行Angular构建,请执行以下操作:
npm
任务以安装依赖项(为命令选择install
)npm
任务,但为命令选择custom
。然后添加您的command and arguments
: run ng -- build --output-path=dist --configuration=prod
请注意npm
不属于command and arguments
的一部分,因为它将由任务提供。还请注意--
如何分隔要运行的命令和要传递给该命令的参数。