2017-10-08 123 views
0

我在Travis CI中運行一些自動化測試,並且在運行兩個parrelel命令時遇到問題,所以基本上在測試之前我們應該通過執行python app/main.py以及之後運行主要的應用程序我們應該運行nosetests /app/tests/test.py。要運行這個我使用start_server.sh包含/dev/null似乎不適用於travis CI

#!/usr/bin/env bash 
python app/main.py > /dev/null & 
nosetests app/tests/test.py --with-coverage 

,這是我的特拉維斯配置:

language: python3 
sudo: required 
addons: 
apt: 
    packages: 
    - python-dev 
python: 
- '3.5' 

before_install: 
- sudo apt-get -qq update 
- sudo apt-get -y install librsvg2-bin 
- sudo apt-get -y install pdftk 
- sudo apt-get -y install python3-pip 
- sudo apt-get install python-virtualenv 

install: 
- virtualenv -p python3 flask_env 
- source flask_env/bin/activate 
- pip3 install -r requirements/test.txt 
- pip3 install -r requirements/dev.txt 

before_script: 
- chmod +x ./start_server.sh 

script: 
- sh start_server.sh 
- python -m pyflakes . 

deploy: 
- provider: releases 
skip_cleanup: true 
api_key: 
    secure: "xlbAXVbIkKtoQH78HgpFvURBR1B40qxuui6AB7WzPgDA8bQzW7FSNYghMBaJkRdVDKBbS9PFcwi9joCnJq3JoGmKDHdtBe5aYAsfiyDiLZTmThqX0we87tin3WcxefsOjUbDHZrR6R0XdOb4SxXYhn5pn1Xjf9I4/rWi6tuqLX2LkPNITxISnQVroO4NGAMsYDUGYxvaQf8zbC3rl8q8yjV9C+VhazKgWAcWEXB45nJtkGNpzuxldKQ6kANwssuSVB0g3P9UUuRhVs+m6Hz2fIpUjHCI7mhpPQxYHf6ajF4G1D3i1ACtpOd39+fygI3GEaejn1Ouni/ECan2TicQ72ujP5cOS6jl/7ZgxoYFR7XuuhFAaHn+RhXR9RP/MIFIVdjtBySxnmbxpObXqyzygcYUIn11fBrdixSO7f1UFbmT0hlJfG4Msbo0JSh0BSqwIEwG9Pvc+DWJjWOYyahRJZBrvt5CWAgs84frq/EXFnVckmjOsBD+iW0L/nZQnt8+ZrH9LAMM5Y2XiDDDJG7lx+yvk5oKmcr1n53XL64x3EMg7tuBdCbPiQcQc/13kDVkHW5PVhjtLzRZ2/yUtvUFuq+Lzzl9e/hJ+PW0ioTVa6ykkoPfhQhUxlPRRhOC4d+aPAP6t4km8JzMyGC2wPJqt7X83eKIbEVHsQHbzwyze3Q=" 
file: "all-badges.pdf" 
on: 
    branch: master 

after_success: 
- deactivate 
- 'bash <(curl -s https://codecov.io/bash)' 

特拉維斯登錄:https://travis-ci.org/fossasia/badgeyay/builds/285063294?utm_source=github_status&utm_medium=notification
任何想法將非常感激。

+0

沒有'語言:python3',所以你會在Ruby映像上運行(它應該與'language:python'目前相同,但不能保證)。 – banzaiman

+0

@banzaiman這不是問題..請參閱travis日誌 –

+1

我沒有說這是。 – banzaiman

回答

3

你可以嘗試在後臺運行sh start_server.sh嗎?

認爲這應該做的伎倆:

script: 
- "sh start_server.sh &" 

或者,你可能想在start_server.sh用命令來打就好setsid,標準輸入,輸出和錯誤的重定向和/或禁用sh職業倦怠控制。

+0

我會試一試 –

+0

我試過但還沒有工作:( –