如何从python脚本get_version.py
中获取gitlab ci环境变量VERSION
值,使gitlab Runner同时在操作系统windows和linux上运行?
我需要一些通用的解决方案,以便它在两个操作系统上都能工作
这是我的.gitlab-ci.yml
:
stages:
- versioning
variables:
VERSION: ""
versioning:
stage: versioning
script:
- echo "[versioning] ..."
- python ./ci-cd_scripts/get_version.py
- echo $VERSION
这是我的./ci-cd_scripts/get_version.py
:
import os
refName = os.environ.get("CI_COMMIT_REF_NAME")
piplineID = os.environ.get("CI_PIPELINE_ID")
relVersion = refName + ".0." + piplineID
version = relVersion.replace("rel.", "")
print("current version is", version)
我发现有效的方法是将其保存到临时文件中
然后在管道中使用.env文件导出变量
这通常是不可能的
您可以在Python脚本中使用
os.environ
设置和修改环境变量,但当脚本完成时,所有内容都返回到以前的值阅读StackOverflow上的这些帖子会很有帮助:
Why can't environmental variables set in python persist?
How do I make environment variable changes stick in Python?
Environment Variables in Python on Linux
修改
get_version.py
python脚本,使其具有:然后在你的管道中:
相关问题 更多 >
编程相关推荐