使用jenkins,'node'不会被识别为内部或外部命令错误

时间:2014-12-02 10:42:29

标签: android node.js cordova jenkins npm

我正在尝试在jenkins v1.592的帮助下建立连续的代码集成 我有一个Android混合代码,我试图用jenkins构建。 我为ANT_HOME,JAVA_HOME,ANDROID_HOME设置了环境变量,然后分别添加到PATH。我还将nodejs和npm添加到PATH中。

ant version 1.9.2

java version 1.8.0_25

npm版本1.4.28

cordova android version 3.5.1

C:\ Users \用户用户名>路径

给出

C:\ Users \ userName \ AppData \ Roaming \ npm; C:\ Program Files \ nodejs; C:\ whateverElse ...

jenkins $ WORKSPACE = C:\ Program Files(x86)\ Jenkins \ jobs \ myProject \ workspace \

现在我将cmd提示符设置为jenkins workspace并执行以下命令

  cd myProject
  cordova build android

我在24秒后获得BUILD_SUCCESSFUL

同样,当我去我当地的jenkins服务器

显示了jenkins仪表板,我在那里设置了myProject   在项目配置中我添加了行

 "cd myProject
  cordova build android" 

在构建步骤中保存配置。 当我尝试构建时,我收到以下错误

匿名从命令行启动 在工作区C:\ Program Files(x86)\ Jenkins \ jobs \ myProject \ workspace中构建 在修订时更新存储库' 2014-12-02T15:20:23.437 + 0530' 在修订版263 自上一次构建以来,存储库没有变化 [workspace] $ cmd / c调用C:\ Windows \ TEMP \ hudson3297478415472069526.bat

C:\ Program Files(x86)\ Jenkins \ jobs \ myProject \ workspace> cd myProject

C:\ Program Files(x86)\ Jenkins \ jobs \ myProject \ workspace \ myProject> cordova build android

'节点'不被视为内部或外部命令, 可操作程序或批处理文件。 构建步骤'执行Windows批处理命令'标记为失败 存档工件 完成:失败

任何帮助将不胜感激

mac OSX上存在同样的问题

最好的问候

1 个答案:

答案 0 :(得分:4)

这里有几件事情可以发挥作用

  1. 您是否通过命令行或通过Windows用户界面向node添加了%PATH%?如果通过UI完成,它可以立即生效。如果通过命令行完成,则在下一个进程从shell生成之前不会生效,因此需要重新启动Jenkins服务器。

  2. Jenkins在Windows上默认运行为“本地系统”。您将C:\Users\userName列为路径的一部分,即用户特定的路径。您是为所有用户设置了%PATH%,还是仅为您的用户设置了userName?如果没有为所有用户(或Jenkins运行的特定用户)设置它,那么Jenkins将不会看到它。您可以更改服务运行的用户。

  3. 2a上。如果Jenkins作为“本地系统”用户运行,该帐户是否可以访问C:\Users\userName

    1. 最后,如果从命令行设置%PATH%,是否使用setx命令将其设置为永久条目?
    2. 在任何一种情况下,从您的作业配置中,添加构建步骤“执行Windows批处理命令”并仅键入set(以显示所有环境变量)或@echo %PATH%(仅查看%PATH) %)并验证环境设置是否正确