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

ops/2024/10/20 18:57:56/

背景:

在做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/ops/22158.html

相关文章

求解素数-埃氏筛选

什么是素数了?就是除了0和1之外,一个数只能由1和它本身相乘得来,这就是素数 第一种暴力求解: package com.fan.suanfati;import java.util.Scanner;public class SuShu {public static void main(String[] args) {System.out.println("请输入数字,以便求出该数字内的素数…

Django初步了解

目录 一、什么是Django 二、Django的设计模式 三、涉及的英文缩写及其含义 四、安装(官方教程) 一、什么是Django Django是一个Python Web框架,可以快速开发网站,提供一站式的解决方案,包括缓存、数据库ORM、后台…

Memory augment is All You Need for image restoration 论文翻译

目录 一.介绍 二.实际工作 A.图像阴影去除 B.图像去雨 C.存储模块的开发 三.网络结构 A.内存扩充 B.损失函数设计 四.实验 A.与最先进方法的比较 B.MemoryNet消融研究 五.结论 CVPR2023 MemoryNet 记忆增强是图像恢复所需要的一切 论文地址https://arxiv.org/abs/…

材质系统:关于PBR(Physically Based Rendering)需要知道的一些事

目录 前言 1. 什么是PBR? 2. 为什么PBR在近期开始流行 3. PBR材质与其他渲染器中材质(如Vray材质、Enscape中的材质)的区别是什么? 4. 为什么Vray之类的渲染器从一开始没有使用PBR材质系统? 前言 本文内容基于对图…

json.loads()与json.dumps()区别

1、json.loads() 序列化,将JSON字符串,转换为Python的数据结构,如字典。 2、json.dumps() 反序列化,将Python的数据结构,转换成JSON字符串。

Flink DataStream API 批处理能力演进之路

摘要:本文由阿里云 Flink 团队郭伟杰老师撰写,旨在向 Flink Batch 社区用户介绍 Flink DataStream API 批处理能力的演进之路。内容主要分为以下三个部分: 1. 批处理语义和性能优化 2. Batch API 功能增强 3. 总结 最近在和一个朋友闲聊时&am…

使用c++类模板和迭代器进行List模拟实现

List 一、创建节点结构二、创建迭代器类1、类的结构2、一系列的运算符重载 三、创建list1、细节把握2、迭代器函数3、构造函数和析构函数4、增删查改的成员函数 一、创建节点结构 template <class T>//节点结构 struct ListNode {ListNode<T>* _next;ListNode<…

Spring响应式高并发编程

这里写目录标题 JDK基础Lambda表达式双冒号语法函数式接口 StreamApi流式处理创建流对象中间操作filter 并行流终结操作收集操作 阻塞式编程和响应式编程JUCflow 响应式流Flux流Mono流事件回调 缓冲区限流操作手动产生流自定义处理器多线程的协作与调度 JDK基础 响应式编程将大…