提问人:ArekBulski 提问时间:8/23/2016 最后编辑:ArekBulski 更新时间:4/11/2020 访问量:1449
检测代码何时在 Travis CI 上运行
Detecting when code is run on Travis CI
答:
6赞
rkersh
8/23/2016
#1
您可以检查环境变量是否存在(或值)。看起来 Travis 默认定义了几个(见这里)。
例如:
import os
istravis = os.environ.get('TRAVIS') == 'true'
评论
1赞
rkersh
8/23/2016
文档说这是默认设置。根据您想要的偏执程度,您可以检查该值是否实际为“true”。我举了这个例子来说明这一点。在这里使用默认值“false”可能会更好。TRAVIS=true
os.getenv
0赞
Nakilon
11/9/2019
还要考虑查看同一文档中提到的 和 变量。CI
CONTINUOUS_INTEGRATION
18赞
Laurent LAPORTE
8/23/2016
#2
要检查 TRAVIS 是否存在,请执行以下操作:
import os
is_travis = 'TRAVIS' in os.environ
1赞
RayLuo
4/11/2020
#3
事后看来,上面所有的答案都是正确的。然而,我还想记录另一个浪费了我生命数小时的原因。
如果您碰巧维护了一个使用流行的 tox 来编排测试的代码库,您可能不知道以下 tox 行为:
默认情况下,tox 只会将 PATH 环境变量(在 windows 上为 SYSTEMROOT 和 PATHEXT)从 tox 调用传递到测试环境。如果要传递其他环境变量,可以使用 passenv 选项:
[testenv]
passenv = TRAVIS
评论
1赞
mdurant
9/23/2020
是的,小时。显然,仅仅满足 env 是不够的,如果你在调用 tox 之前这样做......
评论