2017-10-08 1 views
0

Travis CI에서 일부 자동화 된 테스트를 실행 중입니다. 두 개의 병렬 실행을 실행하는 데 문제가 있습니다. 기본적으로 테스트하기 전에 python app/main.py을 실행하여 주 플라스크 앱을 실행해야합니다. 우리는 nosetests /app/tests/test.py을 실행해야합니다. 내가/dev/null이 travis CI에서 작동하지 않는 것 같습니다.

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

을 포함 start_server.sh을 사용하고이를 실행이 내 트래비스의 설정입니다하려면

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

'language : python3'이 없으므로 Ruby 이미지 (현재'language : python'와 동일해야합니다. 그러나 이것은 보장되지 않습니다)에서 실행됩니다. – banzaiman

+0

@banzaiman 그건 문제가 아니야. 트래비스 로그를 보렴. –

+1

나는 그런 말을하지 않았다. – banzaiman

답변

3

백그라운드에서 sh start_server.sh을 실행 해보십시오.

이 트릭을해야 생각 :

script: 
- "sh start_server.sh &" 

또는 당신이 start_server.shsh의 작업 제어를, setsid 같은 명령을 재생 표준 입력, 표준 출력 및 표준 오류의 리디렉션 및/또는 비활성화 할 수 있습니다.

+0

나는 그것을 시도 할 것이다 –

+0

나는 시도했다. 그러나 아직도 일하지 않았다 :( –

관련 문제