这是我的.travis.yml
:
language: node_js
node_js:
- "node"
before_install:
- npm install -g grunt-cli
- npm install -g http-server
- npm install -g bower
install:
- npm install
- bower install
services:
- http-server
script: grunt mocha
after_success: "./travis.sh"
当http-server
任务正在运行时,我需要grunt mocha
监听8080端口。但是当travis CI作业启动服务器时,它只会挂起整个管道。在我的本地计算机上,我在一个控制台选项卡中启动http-server
,在另一个控制台选项卡中启动grunt mocha
。这里的解决方法是什么?
我发现post有同样的问题没有得到答复。
这是travis在日志中显示的内容:
...
$ http-server
Starting up http-server, serving ./
Available on:
http:127.0.0.1:8080
http:172.17.4.241:8080
Hit CTRL-C to stop the server
No output has been received in the last 10 minutes, this potentially indicates a stalled build or something wrong with the build itself.
The build has been terminated
答案 0 :(得分:2)
解决方案结果非常简单。我通过在命令中附加http-server
使&
在后台运行。所以我创建了文件start-server.sh
,内容如下:
#!/bin/bash
http-server &
sleep 3
并在'./start-server.sh'
before_script
部分添加了.travis.yml
答案 1 :(得分:2)
https://www.quora.com/How-can-I-get-Travis-CI-to-start-my-Django-server-and-then-run-my-tests-on-it
我相信我跑完了管理。 py runserver在后台,让我知道这是否适合你(不是我的开发机器atm,我在我的github上找不到修改过的脚本)
所以在你的情况下我会尝试
- http-server &
- grunt mocha