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"
Author: Steven Vascellaro, 2014-01-15

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:

  1. pierwszym krokiem do wykonania jest before_install. Mój jedyny warunek (poza węzłem.js) jest grunt-cli więc używam tego kroku, aby go zainstalować.
  2. następny jest install krok, w moim przypadku to po prostu zainstaluje moje Moduły npm
  3. before script jest wtedy wykonywany, running grunt build
  4. 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.

 108
Author: thomaux,
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/)

 8
Author: Mangled Deutz,
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.

 0
Author: Oscar Fraxedas,
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 NodeJSMenedżer pakietów, używam Yarn w tym przykładzie. Instaluje yarn, grunt cli, rubyi sass.

Mam nadzieję, że to pomoże.

  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
Author: Thiago Lima,
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