用Jenkins实现cherry-pick多个未入库的gerrit编译Android固件

devtools/2024/9/23 14:30:24/

背景:

在做Android固件开发的时候,通常我们可以利用gerrit-trigger插件,开发者提交一笔的时候自动触发jenkins编译,如果提交的这一笔的编译依赖其他gerrit才能编译过,我们可以在commit message中加入特殊字段,让jenkins在编译此笔patch的时候同时抓取依赖的gerrit代码下来一起编译(本文不讨论,会专门写一篇文章讨论这种需求)。还有一种场景,开发人员修改了多个仓库比如kernel, uboot等仓库,虽然编译上没有依赖,但仍然期望jenkins可以支持将这多笔提交一起编译一个版本(本文要讨论的方案)。

方案:

1.配置参数

jenkins创建一个freesytle job,并且将This project is parameterized选中,如下图,让开发人员可以手动输入多个gerrit link,多个之间用逗号隔开。

2.配置编译步骤中的命令

在Build Steps Exexute Shell中解决参数,并获取cherry-pick的url和project在codebase的相对路径,然后执行cherry-pick,最后执行编译


http://www.ppmy.cn/devtools/28125.html

相关文章

在线音频,没有新故事

图片|自象限拍摄 ©自象限原创 作者丨艾AA 编辑丨罗辑 没有一家公司的IPO之路如喜马拉雅这样曲折。一而再,再而三,从2021年9月,到2022年3月,每一次都似乎触手可及,却又每一次都在最后关头功亏一篑。…

OpenHarmony语言基础类库【@ohos.util.TreeSet (非线性容器TreeSet)】

TreeSet基于[TreeMap]实现,在TreeSet中,只对value对象进行处理。TreeSet可用于存储一系列值的集合,元素中value唯一且有序。 TreeSet和[HashSet]相比,HashSet中的数据无序存放,而TreeSet是有序存放。它们集合中的元素…

Java项目:基于SSM框架实现的高校专业信息管理系统设计与实现(ssm+B/S架构+源码+数据库+毕业论文+PPT+开题报告)

一、项目简介 本项目是一套基于SSM框架实现的高校专业信息管理系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、…

学习java第五十八天

自动装配有哪些方式? 自动装配的不同模式: no - 这是默认设置,表示没有自动装配。应使用显式 bean 引用进行装配。 byName - 它根据 bean 的名称注入对象依赖项。它匹配并装配其属性与 XML 文件中由相同名称定义的 bean。 byType - 它根据类型…

前端安全:XSS和CSRF攻击的防御策略

在前端开发中,确保应用的安全性是至关重要的任务之一。跨站脚本攻击(XSS)和跨站请求伪造(CSRF)是两种常见的安全威胁,它们可以严重危害网站的安全和用户的隐私。以下是针对这两种攻击的防御策略&#xff1a…

Unity3D初级实战项目之方块跑酷

目录 初始化项目开发环境初始化项目屏幕自适应 游戏UI界面元素布局开始界面UI角色选择(商城)界面UI游戏界面UI 地图生成算法之菱形布局Resources资源加载代码生成地图菱形布局 地图生成算法之墙壁边界菱形地图双排布局地图瓷砖颜色美化墙壁边界生成 地图…

vue2主体页面进行拆分

目录 一.组件化 二.新建Header.vue页面 三.Aside.vue代码 四.Main.vue代码如下 五.Home.vue代码如下 六.index.js代码如下: 七.项目效果图 在Vue.js 2中,将主体页面进行拆分是一种常见的做法,它有

渗透 如何防御ARP欺骗,LLMNR-MDNS-NBNS等协议的作用

一. 如何防御ARP欺骗? 1.使用双向IP/MAC绑定; 2.使用静态ARP缓存表; 3.使用ARP服务器,通过服务器来查找ARP转换表来响应其他机器的广播; 4.使用ARP欺骗防护软件; 5.在网关设备上部署防ARP欺骗攻击功能…