5

我正在尝试在 Cloudbees 上构建和运行 Jenkins。我已经成功安装了 NodeJs,并且从我的 BitBucket 存储库中提取了我的源代码。我正在尝试运行我的 grunt 任务以在部署之前缩小和连接我的 JS 和 CSS 文件。但是,我无法运行 grunt 程序,即使它已成功安装。下面是我的构建脚本:

curl -s -o use-node https://repository-cloudbees.forge.cloudbees.com/distributions/ci-addons/node/use-node
NODE_VERSION=0.8.0 \
 source ./use-node
npm install
npm install grunt
grunt

我尝试在有和没有 -g 选项的情况下安装 grunt 都没有成功。这是我构建的 grunt 部分的控制台输出:

+ npm install grunt
...
npm http GET https://registry.npmjs.org/grunt
npm http 200 https://registry.npmjs.org/grunt
...
grunt@0.4.0 node_modules/grunt
├── dateformat@1.0.2-1.2.3
├── colors@0.6.0-1
├── hooker@0.2.3
├── eventemitter2@0.4.11
├── which@1.0.5
├── iconv-lite@0.2.7
├── coffee-script@1.3.3
├── lodash@0.9.2
├── nopt@1.0.10 (abbrev@1.0.4)
├── rimraf@2.0.3 (graceful-fs@1.1.14)
├── minimatch@0.2.11 (sigmund@1.0.0, lru-cache@2.2.2)
├── glob@3.1.21 (graceful-fs@1.2.0, inherits@1.0.0)
├── findup-sync@0.1.2 (lodash@1.0.1)
└── js-yaml@1.0.3 (argparse@0.1.12)
+ grunt
/tmp/hudson3382014549646667419.sh: line 8: grunt: command not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE

关于如何使它工作的任何想法?这在 Cloudbees 中是否可行?

4

2 回答 2

5

令人讨厌的是,Grunt 现在被分解成一个单独的 cli 模块。此外,令人讨厌的是,该 cli 模块不包括 grunt 本身。

为了使这项工作:

curl -s -o use-node https://repository-cloudbees.forge.cloudbees.com/distributions/ci-addons/node/use-node
NODE_VERSION=0.8.0 \
 source ./use-node
npm install
npm install grunt
npm install grunt-cli
export PATH=$PATH:node_modules/grunt-cli/bin/
grunt

如果做这个的人改变它的工作方式是明智的,那么它将来可能会改变。

此处的文档:http: //gruntjs.com/getting-started

于 2013-03-12T02:04:18.940 回答
0

您可以从 jenkins 作业中设置所有内容,无需 ssh/命令行:

安装 Jenkins 插件

  • Git 插件 -用于 git
  • Git 客户端插件 -用于 git
  • Git 参数插件 -用于 git 标签
  • GitHub API 插件 -用于 github
  • NodeJS Plugin -常用 JavaScript 工具 NodeJS 和 npm 的集成

Git / Ant / Maven / NodeJS 安装

  • 转到服务器/詹金斯/配置
吉特
  • Git -> Git 安装 -> 添加 Git -> JGit
  • Git 插件 -> 全局配置 user.name 值 = “Anthony Mckale”,全局配置 user.email 值 = “anthony.mckale@bskyb.com”
节点JS
  • NodeJS-> NodeJS 安装 -> 添加 NodeJS -> Name = "NodeJS 0.11.10",勾选“自动安装”,选择“从 nodejs.org 安装”,将“grunt-cli”添加到全局安装的包中

多田

希望你可以使用 git/nodejs 和 grunt

有关如何将 grunt/node 任务添加到 jenkins 作业的更多详细信息,请参阅插件 wiki -> https://wiki.jenkins-ci.org/display/JENKINS/NodeJS+Plugin

这真的很容易:)

不需要 ssh 登录只需要 jenkins 管理员权限

于 2014-02-14T16:07:50.123 回答