Jenkins 不停地构建任务处理(过滤分支)

Jenkins 不停地构建任务处理

现象

某次配置 jenkins 任务后,启动构建任务,出现一个现象:本地构建的还在进行中、没有结束,下一次构建任务又自动触发了,并处于等待状态,一旦第一个任务结束后,自动触发下一个就会继续下去,如果不人为的干预停止或者出现异常,那么这个工程的构建任务会一直进行下去。

如果不是节点网络断了,那么就不止连续跑200次了。

从网上搜索结果看,是 Jenkins 配置的映射分支存在多个导致的。

查看 console 日志:
在这里插入图片描述
以前正常的 console 日志:
在这里插入图片描述

对比着不难看出,在远程节点的 jenkins 工作空间的工程目录下, 存在两个 feature/demo 分支,一个是远程分支,一个是本地分支(这应该是我曾经在该目录中调试导致的),接着触发了 Scheduling another build to catch up with MobileAutomation_iOS,应该就是这个导致了 本次构建还没跑完、又开始了下一次的构建。

解决方法

方式一:到 Jenkins 节点机子上的工作空间,删除工程目录,重新构建任务。

方式二:指定特定的分支。
在这里插入图片描述
但是我需要为了在构建时勾选动态变化的分支,配置了 ${iOS_branch},所以这种方式虽然可以解决问题,但是影响我的其他需求。
在这里插入图片描述
方式三:过滤分支。

根据报错,jenkins 检测到了工作空间中存在的 feature/demo 分支,而我预期需要 checkout 的分支是 refs/remotes/origin/feature/demo,所以可以使用过滤把不想要的分支去掉。这是目前想到最好的方法了。

这边加了一个 .origin. 来过滤掉工作空间中本地分支,这样执行构建任务,就不会出现连续构建了。

另外,使用定时触发时会用到默认拉取的分支,所以我也把默认分支前面加了 origin。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值