我想用程序确定一个特定的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:如果我没有错的话,为了识别在Jenkins
或Kubernetes 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