1

我有一个小应用程序(https://github.com/tkoomzaaskz/cherry-api),我想将它与 travis 集成。事实上,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 并终止似乎非常肮脏的解决方案的进程,我想还有比这更好的方法。

我很感激有关如何配置它的任何提示。


编辑:我已经在后台配置了这个脏运行,然后终止了这个文件中的进程。现在构建通过了。不过我觉得很丑。。。

4

0 回答 0