Подтвердить что ты не робот

Запустить команду сборки grunt на Travis CI

Я использую Travis CI для тестирования и сборки моего проекта, и в качестве части его я хочу, чтобы travis запускал grunt build Я пробовал следующее, но не повезло.

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

Ответ 1

Уверены ли вы установить grunt-cli глобально на свой Travis node?

Конфигурация My Travis CI выглядит так:

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

И мой пакет .json:

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

Я объясню ход шагов, которые выполнит Тревис:

  • Первый шаг, который нужно выполнить, - before_install. Мое единственное условие (кроме node.js) grunt-cli, поэтому я использую этот шаг для его установки.
  • Следующий шаг install, в моем случае это просто установит мои модули npm
  • Затем выполняется before script, запуская grunt build
  • Наконец, Travis будет искать скрипты в package.json, там я указал, что тестовый шаг должен выполняться grunt test

Я хотел бы отметить, что это мое личное мнение о том, как настроить Travis. Я, конечно, не склоняюсь к тому, что вы должны использовать точно такой же подход.

Ответ 2

Вероятно, вы пропустили свой файл travis.yml:

before_script:
  - npm install -g grunt-cli

Затем "grunt whatever" должно выполняться нормально (предполагая, что вам требуется grunt в ваших devDependencies в вашем пакете .json).

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

Ответ 3

Убедитесь, что у вас есть grunt как часть ваших devDependencies. Вот пример файла: 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 установит grunt на этапе установки:

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

В моем случае я хотел запустить jshint с хрюканьем. Вот мой файл travis.yml: https://github.com/fraxedas/raspi-cloud/blob/master/.travis.yml

Чтобы интегрировать grunt все, что мне было нужно:

before_script: grunt jshint

Вы можете изменить jshint другой командой.

Ответ 4

My.travis.yml выглядит следующим образом:

Он работает намного быстрее, чем npm как NodeJS менеджер пакетов, я использую Yarn в этом примере. Он устанавливает Yarn, grunt cli, ruby и 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