我有一个小型的python应用程序,我想确保当有人提出新的github pull request / commit时,它能够顺利启动。
现在的问题是,一旦我运行该应用程序,它就会永远运行,因为一切正常,没有任何问题。
自构建2分钟后是否可以关闭状态为0的构建?
这是我的.travis.yml文件
python:
- "3.7-dev"
install:
- pip3 install -r requirements.txt
- pip3 install pytest
before_script:
- chmod +x deploy.sh
- chmod +x changelog.sh
branches:
only:
- travis-test
script:
- python3 -m tg_companion
after_success:
./deploy.sh
答案 0 :(得分:1)
执行此操作的一种方法是将应用程序的开始包裹在脚本中,该脚本会在一定时间后终止。
在travis.yml
中设置:
script:
- bash timeout.sh
然后创建一个timeout.sh
脚本:
#!/bin/bash
# Run your app in the background
python3 -m tg_companion &
# Store it's Process ID
bg_pid=$!
# sleep for X seconds
sleep 120
# Kill the python process
kill $bg_pid
# Optionally exit true to prevent travis seeing this as an error
exit 0
另一种方法是修改模块以通知其在测试模式下运行的时间,并在超时(可能是命令行标志)或查看环境(例如)后终止自身。 TRAVIS=true
或CI=true
答案 1 :(得分:0)
使用以下代码创建另一个python文件test.py。
import tg_companion
运行test代替运行tg_companion。即-python3 -m test
(在.travis.yml脚本中)