Вы можете запустить любую задачу, как можно было бы ожидать, что это будет на оболочке UNIX:
language: node_js
node_js:
- "5"
before_script:
- npm install
script:
- node app.js
- npm test
Однако ваша цель покрыта уже командой npm install
. Если это не удастся, и впоследствии ваш npm test
не удастся, сборка не будет выполнена.
Для более сложных примеров, когда вам нужно запускать реальные серверы, скажем, в тесте API-интерфейса конца 2-го уровня я бы использовал вместо этого docker-compose
. Но здесь слишком много.
travis.yml
language: node_js
sudo: required
services:
- docker
cache:
directories:
- node_modules
node_js:
- 5
before_install:
- npm install -g node-gyp
before_script:
- npm install
- npm install -g standard
- docker-compose build
- docker-compose up -d
- sleep 3
script:
- npm test
after_script:
- docker-compose kill
докер-compose.yml
api1:
build: .
dockerfile: ./Dockerfile
ports:
- 3955
links:
- mongo
- redis
environment:
- REDIS_HOST=redis
- MONGO_HOST=mongo
- IS_TEST=true
command: "node app.js"
api2:
build: .
dockerfile: ./Dockerfile
ports:
- 3955
links:
- mongo
- redis
environment:
- REDIS_HOST=redis
- MONGO_HOST=mongo
- IS_TEST=true
command: "node app.js"
mongo:
image: mongo
ports:
- "27017:27017"
command: "--smallfiles --logpath=/dev/null"
redis:
image: redis
ports:
- "6379:6379"
haproxy:
image: haproxy:1.5
volumes:
- ./cluster:/usr/local/etc/haproxy/
links:
- "api1"
- "api2"
ports:
- 80:80
- 70:70
expose:
- "80"
- "70"
Трэвис, как и многие аналогичные сервисы CI, должен предполагать или подразумевать вашу настройку и запускать тесты и задачи до и после сборки автоматически. Пожалуйста, подумайте, что это не вопрос, соответствующий требованиям Stackoverflow, обязательно прочитайте документы или любые официальные руководства для Travis. – diegoaguilar