Uruchom polecenie grunt build na Travis CI
Używam Travis CI do testowania i budowania mojego projektu i w jego ramach chcę, aby travis uruchomił grunt build
próbowałem następujących rzeczy, ale nie miałem szczęścia.
script: "grunt build"
script: "./node_modules/grunt build"
script: "./node_modules/grunt/grunt build"
script: "./node_modules/grunt/grunt.js build"
4 answers
Czy upewniłeś się, że zainstalowałeś grunt-cli
globalnie na swoim węźle Travis?
Mój Config CI wygląda następująco:
language: node_js
node_js:
- "0.8"
before_install: npm install -g grunt-cli
install: npm install
before_script: grunt build
I moją paczkę.json:
{
...
"scripts": {
"test": "grunt test"
},
...
}
Wyjaśnię przebieg kroków, które Travis wykona:
- pierwszym krokiem do wykonania jest
before_install
. Mój jedyny warunek (poza węzłem.js) jestgrunt-cli
więc używam tego kroku, aby go zainstalować. - następny jest
install
krok, w moim przypadku to po prostu zainstaluje moje Moduły npm -
before script
jest wtedy wykonywany, runninggrunt build
- na koniec Travis będzie szukał skryptów w pakiecie.json, tam wskazałem, że krok testowy powinien uruchomić
grunt test
Chciałbym zauważyć, że jest to moja własna opinia na temat tego, jak skonfigurować Travisa. Na pewno nie sugeruję, że powinieneś używać dokładnie tego samego podejścia.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-28 20:48:19
Prawdopodobnie brakuje Ci Travisa.plik yml:
before_script:
- npm install -g grunt-cli
Następnie "grunt whatever" powinien wykonać ok (zakładając, że wymagasz grunt w devDependencies w pakiecie.json).
(patrz http://www.mattgoldspink.co.uk/2013/02/10/using-travis-ci-with-grunt-0-4-x/)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-15 09:30:45
Upewnij się, że masz grunt jako część swoich devDependencies. Oto przykładowy plik: 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 zainstaluje grunt na etapie instalacji:
npm install
...
[email protected] node_modules/grunt
...
W moim przypadku chciałem uruchomić jshint z gruntem.
Oto mój travis.plik yml: https://github.com/fraxedas/raspi-cloud/blob/master/.travis.yml
Aby zintegrować grunt wystarczyło:
before_script: grunt jshint
Możesz zmienić jshint przez kolejny rozkaz.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-21 11:33:25
Mój .travis.yml wygląda tak:
Działa znacznie szybciej niż npm
jako NodeJS
Menedżer pakietów, używam Yarn
w tym przykładzie. Instaluje yarn
, grunt cli
, ruby
i 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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-14 04:01:57