Gerrit使用Jenkins添加Verifed+1标签
一、配置Gerrit
(一)下载event-logs插件
到https://gerrit-ci.gerritforge.com/view/Plugins-stable-3.3/下载插件,安装至/var/gerrit/plugins
目录。
(二)添加verify标签
下载克隆All-Projects仓库
1 |
|
添加一段verified Lable 在最后面:
1 |
|
1 |
|
二、配置Jenkins
(一)安装
依次进入“系统管理 -> 管理插件 -> 可选插件”,搜索插件 Gerrit Trigger,点击安装即可。
(二)配置
依次进入“系统管理 -> Gerrit Trigger”,添加Gerrit Server,按照下图进行配置,然后测试连接。
Nam
: 名称Hostname
:服务器域名或者IPFrontend URL
: Gerrit UI地址SSH Port
:SSH端口,Gerrit默认为29418Username
:连接Gerrit的用户名SSH Keyfile
:Jenkins服务器的私钥路径,同时需要将Jenkins公钥配置到上面的Gerrit用户的公钥列表中SSH Keyfile Password
:私钥文件密码,无则留空
如果想要将Jenkins构建的结果显示到Gerrit中,需要在 高级 中配置REST API。如下图所示,配置完成后测试是否可用:
Gerrit HTTP Username
:Gerrit中的用户Gerrit HTTP Password
:Gerrit用户密码。需要在Gerrit UI的用户设置中选择 HTTP Password,生成HTTP密码。
(三)任务配置
1.源码配置
Repository URL
:Gerrit中源码下载地址Credentials
:下载源码的认证,如果将Jenkins的执行机的公钥已配置到Gerrit用户中,此项可为空Name
:存储库的ID,例如origin,用于在其他远程存储库中唯一标识此存储库。这与你在git remote命令中使用的“name”相同。如果留空,Jenkins将为您生成唯一的名称。您通常希望在拥有多个远程存储库时指定此选项。Refspec
:refspec控制要检索的远程引用以及它们如何映射到本地引用。如果留空,它将为git fetch
的正常行为一致认,它将所有branch heads
检索为remotes/REPOSITORYNAME/BRANCHNAME
。对于大多数情况,此默认行为都可以。 换句话说,默认的refspec是+refs/heads/*:refs/remotes/REPOSITORYNAME/*
,其中REPOSITORYNAME
是你在上面的“存储库名称”文本框中指定的值。Branches to build
:如果要跟踪存储库中的特定分支,请指定分支。如果留空,将检查所有分支的变化并构建。 最安全的方法是使用refs/heads/
语法。这样预期的分支是明确的。Additional Behaviours
:当你有兴趣使用job构建multiple heads(最常见的是多个分支)时,您可以选择Jenkins如何选择以什么顺序构建的分支。 Jenkins中的这个扩展点被许多其他插件用来控制作业以构建特定的提交。当你激活这些插件时,您可能会看到他们在此处安装自定义策略。
要让 Git 插件下载你的更改,请将 Refspec
设置为$GERRIT_REFSPE
,并将Additional Behaviours
设置为 Additional Behaviours/Strategy For Choosing What To Build
,并选择 GERRIT Trigger
。 你可能还需要将 Branches to build
设置为 $GERRIT_BRANCH
。
如果这对你不起作用,请设置 Refspec
设置为 refs/changes/*:refs/changes/*
,并把 Branches to build
设置成 $GERRIT_REFSPEC
。
2.Gerrit Trigger配置
Gerrit Project:配置监控的代码库,右边配置监控的分支,配置详情请点击 问号 查看。
Trigger on: 指定要触发的事件类型。
PatchSet created
: 当上传一个新的更改或补丁集时(Trigger on为空时默认选择)Draft published
:当发布一个修改或补丁集时(Trigger on为空时默认选择)Change abandoned
: 当一个更改被放弃时Change merged
:当更改合并 / 提交时Change restored
:当更改被还原时更改恢复了触发器Comment added
: 当指定的投票类别和值有review内容时Reference updated
: 当引用(例如分支或标记)更新时
Gerrit使用Jenkins添加Verifed+1标签
https://www.shangyexin.com/2021/08/09/gerrit-jenkins-verify/