grunt在安装nodejs之后在jenkins中是不能识别的

我想在jenkins(ubuntu)中运行grunt,我已经安装了nodejs插件,然后重新启动了jenkins。 我创build了自己的工作,并在Build Environment中将Build Node和npm bin /文件夹设置为PATH

然后在Execute shell中运行npm --version出售我的输出是+ npm --version 1.4.9 ,但如果我运行grunt --version ,我的输出是grunt: not found

我也尝试在Windows中,在这种情况下,我没有安装nodejs插件,我安装了一切从bash命令行。 在这种情况下,我从jenkins节点和npm这一点:

C:\Program Files (x86)\Jenkins\jobs\test-jenkins\workspace>node --version v0.10.29 C:\Program Files (x86)\Jenkins\jobs\test-jenkins\workspace>npm --version 1.4.14

并再次为grunt: C:\Program Files (x86)\Jenkins\jobs\test-jenkins\workspace>grunt 'grunt' is not recognize as a command or a bash file

我设法把这个工作只在Ubuntu。

我添加了插件nodejs jenkins (jenkins -> manage plugins) ,然后重新启动jenkins。 在我去工作之后,我检查了Provide Node & npm bin/ folder to PATH 。然后我从shell安装了我需要的所有包。

之后, grunt工作正常。

上面的问题不仅出现在Linux中,而且还出现在Windows中,如果你知道你的grunt的安装位置,这个问题很简单。 无需安装任何插件。

就jenkins构build而言,它安装在drive:/.jenkins....../workspace/node_modules/.bin

在jenkins中使用shell脚本导出path=$PATH:drive:/.jenkins....../workspace/node_modules/.bin ,grunt开始执行。

你也可以在系统path/ jenkins执行你的可执行文件的地方检查可执行文件的可用位置。 使用which "executable_name"没有qoutes。 你可以在Windows和Linux上使用这个命令。

完整的参考: grunt-not-recognized-jenkins