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"
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:
before_install
. Mon seul prérequis (à part node.js) est grunt-cli
. J'utilise cette étape pour l'installer.install
, dans mon cas, cela installera simplement mes modules npmbefore script
est ensuite exécuté en exécutant grunt build
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.
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/ )
Mon .travis.yml ressemble à ceci:
Il est beaucoup plus rapide que npm
en tant que NodeJS
package manager, j'utilise Yarn
sur cet exemple Il installe yarn
, grunt cli
, Ruby
et 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
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.