我过去为Angular2项目设置了使用npm命令的CI,但是我最近开始使用Angular-CLI,它使用'ng'命令代替.
当我尝试在Visual Studio Online中为我的项目设置CI时,我找不到执行'ng'命令的方法.
我已经尝试运行NPM命令(使用目录中的npm任务)来安装CLI; npm install -g angular-cli,之后运行npm install.现在运行'ng build'我试图使用命令行工具运行(因为似乎没有一个工具允许我运行ng命令),但是没有说ng不是一个公认的命令.
有关使用VSO为Angular-CLI项目设置CI的任何建议?
谢谢
如果您希望构建定义在任何构建代理(托管代理和任何内部代理)上运行,您可以依赖于本地安装angular-cli和npm,而不使用-g
标志:
>npm install angular-cli
默认情况下,故宫将安装"NG"下.\node_modules\.bin\
您的构建定义可以使用'npm install'任务来本地安装'ng',然后您可以通过'Command Line'任务调用它,因为您知道它的路径(例如$(Build.SourcesDirectory)\node_modules\.bin
).
构建定义的示例创建新项目并使用'ng'构建它:
在本地安装'ng'cli工具:
创建项目'helloworldproject':
构建项目'helloworldproject':
==更新(以编程方式检索'npm bin'的实际二进制路径)==
要删除放置二进制文件并具有更具弹性的构建定义的假设,您可以使用以下命令以编程方式检索npm使用的实际二进制路径:
>npm bin
以下示例(这次是一个简短的PowerShell脚本)展示了如何创建'helloworldproject'并在此后构建它:
记得:
禁用PowerShell任务上的"标准错误失败"选项,因为ng工具喜欢在那里写东西,即使它成功了.
当然,在使用'ng'工具之前,你仍需要如上所示的'npm install'任务.