Azure Pipeline中PR完成后修改仓库文件并提交的问题与解决
在Azure DevOps PR合并后自动更新并提交version.h版本号
需求
当将changes分支的PR合并到main分支后,自动递增仓库中version.h文件的版本号并提交更新。
遇到的问题
配置Azure DevOps Pipeline(触发条件为PR创建事件)后,流水线可以成功递增version.h的版本号,但推送修改的步骤始终失败。无法将版本号变更纳入当前合并请求,且已确认拥有全部所需权限。
尝试过的方案
- 触发
main分支的推送事件:但无法区分流水线推送version.h到main的操作,和PR完成后的合并推送操作,导致逻辑混乱。 - 触发PR事件:尝试在PR中加入
version.h的修改,但Git报错,原因是Azure DevOps已创建合并请求,无法协调本地变更与远程的合并状态。
最终解决方法
问题根源在于Azure构建代理仅检出了合并提交,导致本地仓库与远程仓库不同步,推送时内容过期。通过在每个作业执行完成后删除代理工作目录下的/s目录,确保每次作业都基于最新的远程仓库状态进行操作,解决了推送失败的问题。
内容的提问来源于stack exchange,提问作者user2899525
相关产品推荐
相关产品推荐

