如何检测GitLab CI服务器上是否正在运行测试

Ric*_*rdK 3 java gitlab gitlab-ci

我有一个测试,它使用配置并在gitlab CI服务器上运行的MySQL数据库(gitlab-ci.yml).我希望在本地运行时禁用该测试(它使用的是内存数据库).有没有办法检查测试是否在GitLab Ci服务器上运行?就像是:

if(isRunningOnGitlabCi()) {
  Assert.assertThat(...);
}
Run Code Online (Sandbox Code Playgroud)

也许有环境变量,我可以检查一下?

wil*_*dev 7

在Gitlab-ci上有一个预定义的环境变量"GITLAB_CI"

https://docs.gitlab.com/ee/ci/variables/#predefined-variables-environment-variables

你应该检查一下 System.getenv("GITLAB_CI")!=null;