我正在使用Travis CI测试和构建我的项目,作为其中的一部分,我希望travis运行grunt build
我尝试过以下但没有运气。
script: "grunt build"
script: "./node_modules/grunt build"
script: "./node_modules/grunt/grunt build"
script: "./node_modules/grunt/grunt.js build"
答案 0 :(得分:108)
您是否确保在Travis节点上全局安装grunt-cli
?
我的Travis CI配置如下:
language: node_js
node_js:
- "0.8"
before_install: npm install -g grunt-cli
install: npm install
before_script: grunt build
我的package.json:
{
...
"scripts": {
"test": "grunt test"
},
...
}
我将解释特拉维斯将要执行的步骤流程:
before_install
。我唯一的先决条件(除了node.js)是grunt-cli
所以我使用这一步来安装它。install
步骤,在我的情况下,这将只是安装我的npm模块before script
,运行grunt build
grunt test
我想指出,这是我自己对如何配置Travis的看法。我当然不会倾向于使用完全相同的方法。
答案 1 :(得分:8)
您可能会错过travis.yml文件:
before_script:
- npm install -g grunt-cli
然后“grunt whatever”应该执行ok(假设你在package.json中的devDependencies中需要grunt)。
(见http://www.mattgoldspink.co.uk/2013/02/10/using-travis-ci-with-grunt-0-4-x/)
答案 2 :(得分:0)
确保您拥有作为devDependencies一部分的咕噜声。这是一个示例文件:https://github.com/fraxedas/raspi-cloud/blob/master/package.json
"devDependencies": {
"grunt": "^0.4.5",
"grunt-contrib-jshint": "^0.11.2",
"grunt-contrib-watch": "^0.6.1"
}
Travis-ci将在安装步骤中安装grunt:
npm install
...
grunt@0.4.5 node_modules/grunt
...
在我的情况下,我想用grunt运行jshint。 这是我的travis.yml文件:https://github.com/fraxedas/raspi-cloud/blob/master/.travis.yml
为了整合咕噜声我需要的是:
before_script: grunt jshint
您可以通过其他命令更改jshint。
答案 3 :(得分:0)
我的.travis.yml看起来像这样:
它的运行速度比npm
NodeJS
包管理器快得多,我在此示例中使用Yarn
。它会安装yarn
,grunt cli
,ruby
和sass
。
希望它有所帮助。
language: node_js
node_js:
- "7.1.0"
before_install:
- npm install -g yarn
- yarn add global ruby
- gem install sass
install:
- yarn add global sass
- yarn add global grunt-cli
- yarn add yarn install
before_script: grunt