我有一个小应用程序(https://github.com/tkoomzaaskz/cherry-api),我想将它与travis集成。事实上,特拉维斯在这里可能并不重要。我的问题是如何配置构建/作业以执行以下序列:
应用程序是用python / CherryPy(基本webapp框架)编写的。在我的本地主机上,我使用两个控制台。一个运行服务器,另一个运行测试 - 它非常简单,工作正常。但是当我想在CI环境中执行所有这些时,我遇到了麻烦 - 在服务器启动后我无法获得控制权,因为服务器进程等待请求......并等待......等待.. 。并且测试永远不会运行(https://travis-ci.org/tkoomzaaskz/cherry-api/builds/10855029 - 这个构建是无限的)。另外,我不知道如何关闭服务器。这是我的.travis.yml
:
before_script: python src/hello.py
script: nosetests
src/hello.py
启动内置的CherryPy服务器(侦听localhost:8080
)。我知道我可以通过添加&
:before_script: python src/hello.py &
将其移到后台但是我会在CI环境中找到进程ID并杀死进程,这似乎是非常非常脏的解决方案,我猜有比这更好的东西。
我很欣赏有关如何配置此内容的任何提示。
编辑:我在后台配置了这个脏运行,然后在this file中终止了该进程。构建passes now。不过,我认为这很难看......