如何检测是否Travis-Ci

时间:2012-10-19 22:08:44

标签: travis-ci

我需要一种方法来确定调用该函数的人是否是Travis-CI。如果是Travis-CI,我不想在这里开始会话。 现在,我让我的测试脚本创建了一个名为test.txt的文件,然后查找它。

protected function __construct() {
    if ( (!session_id()) && (!file_exists('test.txt' ))) session_start();
}

但是,必须有更好的方法。看来,如果没有文件检查,如果实际上进行了会话,则不会创建新会话。但这种情况并非如此。如果是这种情况,下面的前一个链接应该已经过去了。

Before添加“test.txt”文件:
After

3 个答案:

答案 0 :(得分:51)

通常,您可以通过检查环境变量来检测您是否在Travis-CI上。您可以选中CI=true或更具体的TRAVIS=true。在PHP中,您可以使用getenv() function来获取环境变量的值。

请参阅complete list of the environment。您可以设置更多env variables in your .travis.yml

答案 1 :(得分:0)

对于Java,我正在检查用户:

/**
 * check if we are in the Travis-CI environment
 * @return true if Travis user was detected
 */
public boolean isTravis() {
  String user = System.getProperty("user.name");
  return user.equals("travis");
} 

答案 2 :(得分:0)

如果您使用的是JavaScript,则有一个名为is-ci的出色模块,该模块在NPM中可用,并且已获得MIT许可。

注意:它为true提供了任何持续集成环境,而不仅仅是TravisCI。