[英]run Grunt.js with Jenkins
我已經使用mocha測試和JSlint設置了一個Gruntfile。 如果我只是從終端運行grunt,這工作正常。
我想從詹金斯那里咕嚕咕嚕!
我設置了一個新工作 - >並根據shell腳本構建並包含:
/usr/local/bin/grunt
一旦我完成工作,Jenkins的終端輸出說:
[workspace] $ /bin/sh -xe /tmp/hudson8550584576040162032.sh
+ /usr/local/bin/grunt
/usr/bin/env: node: No such file or directory
Build step 'Execute shell' marked build as failure
Finished: FAILURE
它似乎不能精細節點二進制!?! 但節點已安裝並在終端中正常運行!
我的所有二進制文件(mocha,grunt,node)都在/ usr / local / bin /
有誰知道這是什么問題? 或者也許有人有鏈接用jenkins設置grunt.js?
有人得到了什么?
謝謝
這種情況正在發生,因為Jenkins將作為一個不同的用戶運行,可能在其$PATH
中沒有/usr/local/bin
。
在shell腳本中,確保將/usr/local/bin
添加到$PATH
export PATH="/usr/local/bin:$PATH"
# This will also mean you can call 'grunt' rather than '/usr/local/bin/grunt'
grunt
這有一個額外的好處,就是在/usr/bin
中調用你在/usr/local/bin
安裝的任何程序。 如果您不想要此行為,只需附加而不是前置:
export PATH="$PATH:/usr/local/bin"
# This will also mean you can call 'grunt' rather than '/usr/local/bin/grunt'
grunt
說實話,我不熟悉Jenkins,但是當我想將GruntJS與XCode自定義構建步驟或TeamCity部署過程集成時,我遇到了同樣的問題。
我通過在運行grunt或node之前將/ usr / local / bin /添加到我的shell腳本中的PATH來解決我的問題。 就像是:
PATH=${PATH}:/usr/local/bin
grunt
我希望這對你也有幫助:-)
你可以允許從jenkins設置一切:
希望git / nodejs和grunt可供您使用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.