Run grunt build command on Travis CI

你。 提交于 2019-12-04 07:45:06

问题


I am using Travis CI to test and build my project and as part of it I want travis to run grunt build i have tried the following but have had no luck.

  • script: "grunt build"
  • script: "./node_modules/grunt build"
  • script: "./node_modules/grunt/grunt build"
  • script: "./node_modules/grunt/grunt.js build"

回答1:


Have you made sure to install grunt-cli globally on your Travis node?

My Travis CI config looks like:

language: node_js
node_js:
  - "0.8"
before_install: npm install -g grunt-cli
install: npm install
before_script: grunt build

And my package.json:

{
    ...
    "scripts": {
        "test": "grunt test"
    },
    ...
}

I will explain the flow of steps that Travis will execute:

  1. The first step to be executed is the before_install. My only prerequisite (besides node.js) is grunt-cli so I use this step to install it.
  2. Next is the install step, in my case this will simply install my npm modules
  3. The before script is then executed, running grunt build
  4. Lastly Travis will look for scripts in the package.json, there I indicated the test step should run grunt test

I'd like to note that this is my own opinion on how to configure Travis. I'm certainly not inclining you should use exactly the same approach.




回答2:


You likely miss in your travis.yml file:

before_script:
  - npm install -g grunt-cli

Then "grunt whatever" should execute ok (assuming you do require grunt in your devDependencies in your package.json).

(see http://www.mattgoldspink.co.uk/2013/02/10/using-travis-ci-with-grunt-0-4-x/)




回答3:


Make sure that you have grunt as part of your devDependencies. Here is a sample file: 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 will install grunt on the install step:

npm install 
...
grunt@0.4.5 node_modules/grunt
...

In my case I wanted to run jshint with grunt. Here is my travis.yml file: https://github.com/fraxedas/raspi-cloud/blob/master/.travis.yml

To integrate grunt all I needed was:

before_script: grunt jshint

You can change jshint by another command.




回答4:


My .travis.yml looks like this:

It runs much faster than npm as NodeJSpackage manager, I'm using Yarnon this example. It installs yarn, grunt cli, rubyand sass.

Hopefully it helps.


  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



来源:https://stackoverflow.com/questions/21128478/run-grunt-build-command-on-travis-ci

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!