web-dev-qa-db-fra.com

Exécuter la commande de construction grunt sur Travis CI

J'utilise Travis CI pour tester et construire mon projet. Dans ce cadre, je souhaite que Travis s'exécute grunt build.

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

Vous êtes-vous assuré d'installer grunt-cli globalement sur votre nœud Travis?

Ma configuration Travis CI ressemble à:

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

Et mon package.json:

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

Je vais expliquer le déroulement des étapes que Travis exécutera:

  1. La première étape à exécuter est le before_install. Mon seul prérequis (à part node.js) est grunt-cli. J'utilise cette étape pour l'installer.
  2. Suivant est l'étape install, dans mon cas, cela installera simplement mes modules npm
  3. Le before script est ensuite exécuté en exécutant grunt build
  4. Enfin, Travis recherchera des scripts dans le package.json. Là, j’ai indiqué que l’étape de test devrait être exécutée grunt test

Je voudrais noter que ceci est ma propre opinion sur la façon de configurer Travis. Je ne suis certainement pas enclin à utiliser exactement la même approche.

108
thomaux

Vous manquez probablement dans votre fichier travis.yml:

before_script:
  - npm install -g grunt-cli

Ensuite, "grunt tout ce que" devrait fonctionner correctement (en supposant que vous ayez besoin de grunt dans vos devDependencies dans votre package.json).

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

8
Mangled Deutz

Mon .travis.yml ressemble à ceci:

Il est beaucoup plus rapide que npm en tant que NodeJSpackage manager, j'utilise Yarn sur cet exemple Il installe yarn, grunt cli, Rubyet sass.

J'espère que ça aide.


  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
0
Thiago Lima

Assurez-vous que vous avez des grognements dans vos devDependencies. Voici un exemple de fichier: 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 installera grunt à l'étape d'installation:

npm install 
...
[email protected] node_modules/grunt
...

Dans mon cas, je voulais exécuter jshint avec grunt . Voici mon fichier travis.yml: https://github.com/fraxedas/raspi-cloud/blob/master/.travis.yml

Pour intégrer Grunt, tout ce dont j'avais besoin était:

before_script: grunt jshint

Vous pouvez changer jshint par une autre commande.

0
Oscar Fraxedas