如何使用Cloudbees Jenkins构建获得一个繁重的任务
我正试着让詹金斯在云蜂上建立和运行。我已经成功地安装了NodeJs,并从我的BitBucket存储库中提取了我的源代码。我正在尝试运行grunt任务,在部署之前缩小并连接我的JS和CSS文件。但是,我无法运行grunt程序,即使它已成功安装。下面是我的构建脚本:如何使用Cloudbees Jenkins构建获得一个繁重的任务,jenkins,cloudbees,gruntjs,Jenkins,Cloudbees,Gruntjs,我正试着让詹金斯在云蜂上建立和运行。我已经成功地安装了NodeJs,并从我的BitBucket存储库中提取了我的源代码。我正在尝试运行grunt任务,在部署之前缩小并连接我的JS和CSS文件。但是,我无法运行grunt程序,即使它已成功安装。下面是我的构建脚本: curl -s -o use-node https://repository-cloudbees.forge.cloudbees.com/distributions/ci-addons/node/use-node NODE_VERSIO
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
我尝试过安装grunt,无论是否使用-g选项,都没有成功。以下是我构建的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中可能吗?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
如果做出这种改变的人是明智的,那么将来可能会改变
此处的文档:您可以从jenkins作业设置所有内容,无需ssh/命令行: 安装Jenkins插件
- Git插件-用于Git
- Git客户端插件-适用于Git
- Git参数插件-用于Git标记
- GitHub API插件-用于GitHub
- NodeJS插件-通用javascript工具NodeJS和npm的集成
- 转到服务器/jenkins/configure
- Git->Git安装->添加Git->JGit
- Git plugin->Global Config user.name Value=“Anthony Mckale”,Global Config user.email Value=“Anthony。mckale@bskyb.com"
- NodeJS->NodeJS安装->添加NodeJS->Name=“NodeJS 0.11.10”,勾选“自动安装”,选择“从NodeJS.org安装”,将“grunt cli”添加到全局安装的软件包中
不需要ssh日志,只需要jenkins管理员权限我认为nom安装-g grunt可能会工作-但让我复制并确认以下内容…谢谢,这让我克服了这个障碍。令人尴尬的是,答案出现在GruntJs的入门页面上。这是一个很好的问题-很高兴有它在这里,因为我肯定会忘记的!我想看看格伦特。此外,这是最近的变化。直到最近,你所拥有的几乎都是有用的,但是自从grunt 4之后,就没有这样的运气了。祝你好运我很想知道你在grunt.js上的进展-我正在考虑切换一些ClickStart来代替bash来完成一些任务。到目前为止,我很喜欢grunt。我还没有做过任何非常复杂的事情,但我用它做的工作很好。我主要是将它用于生产的缩小和连接。我喜欢将grunt cli与您在项目中使用的grunt版本分开的方法。它允许您在一台机器上拥有多个版本的grunt。最好有js就绪的从机(node.js、phantomjs、npm和一些全局安装的包,如grunt cli、bower、TestCular等)