我正在尝试创建一个版本控制系统,每次将提交推送到主分支时都会自动增加。我通过 Settings->CI/CD->Environment variables 创建了一个环境变量,并尝试使用以下代码递增它: old_version = os.environ["SEMVER_VERSION"] new_version = bump(old_version) os.environ["SEMVER_VERSION"] = new_version 问题是这些更改仅对环境变量的本地副本进行,该副本在管道完成时被丢弃。所以我的问题是,是否有任何方法可以存储一个值,以便所有管道都可以访问它并更改它?一个常见的解决方案似乎是将值存储在 git 标签或文件中,然后将其推送回 git 存储库,我遵循的教程是这样做的https://threedots.tech/post/automatic-semantic-versioning- in-gitlab-ci/,但由于我正在使用的自托管 gitlab 服务器的限制,我无法以编程方式推送提交。
1 回答
四季花海
TA贡献1811条经验 获得超5个赞
您可以使用API使用新值更新相同的变量:
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/variables/SEMVER_VERSION" \
--form "value=$new_version"
添加回答
举报
0/150
提交
取消