我遇到了一个合并订单问题,在稍后的更改(“101”)进行了代码审查之后,对gerrit更改(参数“100”)进行了代码审查。这导致jenkins构建并释放gerrit ID“100”,之前从gerrit ID“101”发布的代码不再是最新版本。
我想知道我是否有一个基本问题 - 我最初的想法是“选择策略:gerrit”对于maven验证是正确的,但是当我从master构建代码审查代码时应该是“choose-strategy:default”
我有以下JJB格式的jenkins配置,用于构建master的作业,并从中生成一个版本:
parameters:
- string:
name: GERRIT_REFSPEC
default: refs/heads/master
triggers:
- gerrit:
trigger-on:
- change-merged-event
scm:
- git:
url: '{gerrit_url}/{repo}'
credentials-id: '{gerrit_credentials_id}'
name: origin
refspec: $GERRIT_REFSPEC
branches:
- $GERRIT_BRANCH
choosing-strategy: gerrit
UPDATE(2018年4月):似乎正在发生的事情是,在用户已经审查并合并到主控的代码的事件之后,传递给Jenkins的GERRIT_REFSPEC最终会产生补丁,即它之前的代码。被合并为主人。
因此,我首先想到的是一个模糊的合并订单问题,结果发现我们只是在构建错误的东西。选择策略建议,提供了一个体面的工作,但我不确定我会称之为解决方案。