旧版代码开始了这项工作没有可用的原因信息

问题描述

您可能有一个提交后挂钩,该挂钩通过URL或jenkins-cli触发了同一作业

但是我开始对部署工作感到疑惑,我没有配置“在将更改推送到Github时构建”,而是使用“在另一个项目升级时构建”,所以我认为即使github钩子也被触发了,它不会结束额外的构建?

好吧,这是您的问题^^。“ ”机制与“ ”完全分开。

  • 前者允许从构建步骤或升级(与该 升级绑定)触发新构建。
  • 后者将触发对已配置作业的 升级。它与“ ”的构建后配置相反。

此外,构建触发器不进行 AND 运算 ,而是进行 OR运算 。构建何时发生该 那个 那个触发器。从配置中删除“ 的 ”,以消除多余的构建。

现在,如果要防止SCM提交挂钩触发生成,则需要确保作业上没有配置SCM轮询。另外,不同的SCM插件也有自己的选项(我知道SVN SCM插件允许“忽略提交后的钩子”;不知道git SCM插件)

解决方法

在jenkins上总是有一个由“ promote build plugin”触发的额外构建,我不知道为什么…

这是整个管道:

  1. 开发人员将“ feature_branch”提交给github
  2. jenkins触发“ feature_branch”构建以运行所有单元测试

在构建作业上:

  • 如果分支通过了测试,则应转到“代码审查”(我在这里使用promote_build_plugin,在代码视图后手动升级),
  • 我使用“在其他项目上触发/调用”作为触发“部署工作”的操作,仅当它通过代码审查时才能触发。

在deploy-job上:
我可以看到触发了一个新构建,并且feature_branch被合并了,但是总有另一个构建发生,“没有任何更改;旧版代码开始了这项工作。没有可用的原因信息”

我在整个下午用Google搜索了一下,试图解决这个问题,有什么帮助吗?

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...