在Travis CI上运行grunt build命令

时间:2014-01-15 03:15:19

标签: node.js gruntjs travis-ci

我正在使用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"

4 个答案:

答案 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"
    },
    ...
}

我将解释特拉维斯将要执行的步骤流程:

  1. 要执行的第一步是before_install。我唯一的先决条件(除了node.js)是grunt-cli所以我使用这一步来安装它。
  2. 接下来是install步骤,在我的情况下,这将只是安装我的npm模块
  3. 然后执行before script,运行grunt build
  4. 最后Travis将在package.json中查找脚本,我指出测试步骤应该运行grunt test
  5. 我想指出,这是我自己对如何配置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。它会安装yarngrunt clirubysass

希望它有所帮助。


  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