检查我们是否在GitHub Action / tracis ci / circle ci等测试环境中



我想用程序确定一个特定的Python脚本是否在等测试环境中运行

  • GitHub操作
  • Tracis CI
  • 圆形CI

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

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

我所知道的:

os.getenv("GITHUB_ACTIONS")
os.getenv("TRAVIS")
os.getenv("CIRCLECI")
os.getenv("GITLAB_CI")

在相应的工具环境中执行时,将以python脚本形式返回true

例如:

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

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

我认为CI环境变量是在大多数环境中定义的

您的3个案例参考:

  • https://docs.github.com/en/actions/learn-github-actions/variables#default-环境变量
  • https://docs.travis-ci.com/user/environment-variables/#default-环境变量
  • https://kapeli.com/cheat_sheets/CircleCI_Standard_Variables.docset/Contents/Resources/Documents/index

最新更新