检查我们是否处于 GitHub Action / Travis CI / Circle CI 等测试环境中

Nic*_*mer 10 python travis-ci circleci github-actions cicd

我想以编程方式确定特定的 Python 脚本是否在测试环境中运行,例如

  • GitHub 行动
  • 特拉维斯·西尔
  • 圆CI

等等。我意识到这需要一些启发,但这对我来说已经足够了。是否总是设置某些环境变量?用户名总是相同吗?ETC。

Gui*_*urd 20

通常为每个 CI/CD 管道工具设置一个环境变量。

我所知道的有:

os.getenv("GITHUB_ACTIONS")
os.getenv("TRAVIS")
os.getenv("CIRCLECI")
os.getenv("GITLAB_CI")
Run Code Online (Sandbox Code Playgroud)

在相应的工具环境中执行时将返回truepython 脚本。

例如:

  • os.getenv("GITHUB_ACTIONS") == "true"在 Github Action 工作流程中。
  • os.getenv("CIRCLECI") == "true"在 CircleCI 管道中。
  • ...

PS:如果我没有记错的话,为了识别 python 脚本正在Jenkinsor中执行Kubernetes Service host,行为是不一样的。