簡體   English   中英

和Jenkins一起運行Grunt.js

[英]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設置一切:

安裝Jenkins插件

  • Git插件 - 對於git
  • Git客戶端插件 - 用於git
  • Git參數插件 - 用於git標簽
  • GitHub API插件 - 用於github
  • NodeJS插件 - 集成常見的JavaScript工具NodeJS&npm

Git / Ant / Maven / NodeJS安裝

  • 轉到SERVER / jenkins / configure
混帳
  • Git - > Git安裝 - >添加Git - > JGit
  • Git插件 - > Global Config user.name Value =“Anthony Mckale”,Global Config user.email Value =“anthony.mckale@bskyb.com”
的NodeJS
  • NodeJS-> NodeJS安裝 - >添加NodeJS - > Name =“NodeJS 0.11.10”,勾選“自動安裝”,選擇“從nodejs.org安裝”,將“grunt-cli”添加到全局安裝的包中

TADA

希望git / nodejs和grunt可供您使用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM