我正在尝试在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上存在同样的问题
最好的问候
答案 0 :(得分:4)
这里有几件事情可以发挥作用
您是否通过命令行或通过Windows用户界面向node
添加了%PATH%
?如果通过UI完成,它可以立即生效。如果通过命令行完成,则在下一个进程从shell生成之前不会生效,因此需要重新启动Jenkins服务器。
Jenkins在Windows上默认运行为“本地系统”。您将C:\Users\userName
列为路径的一部分,即用户特定的路径。您是为所有用户设置了%PATH%
,还是仅为您的用户设置了userName
?如果没有为所有用户(或Jenkins运行的特定用户)设置它,那么Jenkins将不会看到它。您可以更改服务运行的用户。
2a上。如果Jenkins作为“本地系统”用户运行,该帐户是否可以访问C:\Users\userName
?
%PATH%
,是否使用setx
命令将其设置为永久条目?在任何一种情况下,从您的作业配置中,添加构建步骤“执行Windows批处理命令”并仅键入set
(以显示所有环境变量)或@echo %PATH%
(仅查看%PATH) %)并验证环境设置是否正确