所以我试图建立一个CI管道,我想要它做的一件事是更新我的一些xml文件中的版本号,然后将它们提交回分支。当代码提交(通常是通过合并请求)到我的我的测试版时,会触发此CI管道。科。然后其中一个作业使用ruby脚本更新版本号。一切都过后,我想将这些版本号更新提交至“测试版”。分支,但似乎无法做到正确。这是我用来尝试提交更改的ruby脚本的迭代:
puts("# Commit changes to git")
system("git checkout beta")
system("git add #{@project_root}")
git_commit_msg = "[skip ci] beta version numbers updated"
system("git commit -m \"#{git_commit_msg}\"")
result = system("git push -f origin HEAD:beta") or raise "git push failed"
我的CI运行器工作的用户有一个repo的ssh密钥,可以在CI环境之外提交更改。但是当这部分运行时,我通常得到:
remote:HTTP Basic:访问被拒绝致命:身份验证失败 ' http://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@gitlabserver/owner/build-tools-sandbox.git/' /Users/usr/builds/daf17119/0/owner/build-tools-sandbox/tools/build-scripts/commit_changes.rb:41:in &#39 ;: git push failed(RuntimeError)来自 /Users/usr/builds/daf17119/0/owner/build-tools-sandbox/tools/build-scripts/commit_changes.rb:7:in'
任何反馈都会非常有帮助,因为我现在已经挣扎了一段时间。谢谢!