Angular CLI VSO持续集成

Paw*_*wel 4 continuous-integration azure-devops angular-cli

我过去为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的任何建议?

谢谢

Luc*_*ppa 12

如果您希望构建定义在任何构建代理(托管代理和任何内部代理)上运行,您可以依赖于本地安装angular-clinpm,而不使用-g标志:

>npm install angular-cli
Run Code Online (Sandbox Code Playgroud)

默认情况下,故宫将安装"NG".\node_modules\.bin\

您的构建定义可以使用'npm install'任务来本地安装'ng',然后您可以通过'Command Line'任务调用它,因为您知道它的路径(例如$(Build.SourcesDirectory)\node_modules\.bin).

构建定义的示例创建新项目并使用'ng'构建它:

  • 在本地安装'ng'cli工具:

npm安装参数

  • 创建项目'helloworldproject': 新项目

  • 构建项目'helloworldproject': ng build项目

==更新(以编程方式检索'npm bin'的实际二进制路径)==

要删除放置二进制文件并具有更具弹性的构建定义的假设,您可以使用以下命令以编程方式检索npm使用的实际二进制路径:

>npm bin
Run Code Online (Sandbox Code Playgroud)

以下示例(这次是一个简短的PowerShell脚本)展示了如何创建'helloworldproject'并在此后构建它: 用于运行ng工具的powershell脚本

记得:

  • 禁用PowerShell任务上的"标准错误失败"选项,因为ng工具喜欢在那里写东西,即使它成功了.
  • 当然,在使用'ng'工具之前,你仍需要如上所示的'npm install'任务.