Continuous integration 连续积分
我过去曾为使用npm命令的Angular2项目设置CI,但最近我开始使用AngularCLI,它使用“ng”命令 当我尝试在Visual Studio Online中为我的项目设置CI时,我找不到执行“ng”命令的方法 我已经尝试运行NPM命令(使用目录中的NPM任务)来安装CLI;npm安装-g angular cli,然后运行npm安装。现在要运行“ng build”,我已经尝试使用命令行工具运行(因为似乎没有一个工具允许我运行ng命令),但这并不能说明ng不是一个可识别的命令 关于使用VSO为Angular CLI项目设置CI有什么建议吗Continuous integration 连续积分,continuous-integration,azure-devops,angular-cli,Continuous Integration,Azure Devops,Angular Cli,我过去曾为使用npm命令的Angular2项目设置CI,但最近我开始使用AngularCLI,它使用“ng”命令 当我尝试在Visual Studio Online中为我的项目设置CI时,我找不到执行“ng”命令的方法 我已经尝试运行NPM命令(使用目录中的NPM任务)来安装CLI;npm安装-g angular cli,然后运行npm安装。现在要运行“ng build”,我已经尝试使用命令行工具运行(因为似乎没有一个工具允许我运行ng命令),但这并不能说明ng不是一个可识别的命令 关于使用VS
谢谢我现在也在经历同样的事情,所以我觉得你很痛苦。 您可能需要创建自己的构建服务器,作为azure上的VM或内部部署。原因是angular cli目前不是托管构建服务器的功能之一 当你创造自己的时候,你仍然会遇到一些障碍。全局安装angular cli时,它仍然会将其放在安装它的用户的AppData文件夹下。如果您已将代理设置为以其他用户(例如NetworkService)的身份运行,则对于该服务帐户,“ng”将不在路径中。它可能也没有运行它的权限,因为angular cli安装在用户的文件夹下,它没有权限运行它 好的,那么您使用相同的用户运行代理,或者您解决了权限和路径问题,您可能仍然会遇到问题。如果使用powershell脚本任务作为生成任务之一来执行“ng build”,则会遇到我在此处强调的问题: 所以看起来我们可能不得不求助于命令行构建任务。
希望这有帮助。过去两天我花在这上面的时间可能会帮助其他人。关于Angular2 CLI命令行,它使用ng2而不是ng。(Angular CLI使用ng),因此您的命令不正确 请参阅以下步骤以验证ng2命令(适用于托管代理):
对于具有用户帐户的内部构建代理,您可以登录该计算机并安装Angular2 CLI命令行(不需要在构建过程中安装它)。如果您希望您的构建定义在任何构建代理(托管代理和任何内部构建代理)上运行,您可以依靠本地安装Angular2 CLI和npm,不带
-g
标志:
>npm install angular-cli
默认情况下,npm将在\node\u modules\.bin\
您的生成定义可以使用任务在本地安装“ng”,然后您可以通过任务调用它,因为您知道它的路径(例如$(build.SourcesDirectory)\node\u modules\.bin
)
生成定义创建新项目并使用“ng”生成的示例:
- 本地安装“ng”cli工具:
- 创建项目“helloworldproject”:
- 生成项目“helloworldproject”:
>npm bin
下面的示例(这次是一个简短的PowerShell脚本)显示了如何创建“helloworldproject”并在其后构建它:
记住:
- 禁用PowerShell任务上的“标准错误失败”选项,因为ng工具喜欢在那里写东西,即使它成功了
- 当然,在使用“ng”工具之前,您仍然需要如上所示的“npm安装”任务