持续集成闲置鱼类颤振混合工程的最佳实践

频道:闲鱼技术 日期: 浏览:284
作者:闲鱼科技-然道

微信号:ccjun91
添加微信群,试用软件
复制微信号

在上一篇文章《颤振混合工程转换实践》中,一些学生留言了解了将颤振相关性提取到远程的一些实现细节,因此本文重点介绍了颤振混合工程中颤振直接相关性释放的一些具体实现。

目前,我们的闲鱼是颤振和出生地的混合开发模式,所以一些学生只做出生地的开发,不熟悉颤振技术。

(1)如果颤振工程结构直接用于日常开发,那么出生地这一地区的开发学生还需要配置颤振环境,了解一些颤振技术,这是相对昂贵的。

(2)阿里巴巴集团的建设体系目前不支持直接建设颤振项目,这也要求我们消除该项目在诞生地对颤振的直接依赖。

鉴于这两个原因,我们希望设计一个颤振相关性提取模块,该模块可以将颤振相关性提取为颤振相关性库,并将其发布到远程,供纯出生地项目参考。如下图所示:

工程颤振分析有三个主要部分:

1.颤振库和发动机:颤振框架库和发动机库。

2.颤振工程:我们自己实现的颤振模块功能主要是通过《颤振工程》下的《中国人民解放党目录》中的gallop代码来实现的。

3.我们自己实现了抖动偏振插件:我们自己实现了抖动偏振插件

我们解开android和互联网操作系统的应用文件,发现Flatter依赖的主要文件如下图所示:

其中,,

android Flatter取决于以下文件:

1.颤振库和引擎:

规范的c u d t z-准代数的d apha t,z-准代数规范的b b f z-准代数规范的g h t.所以收集了一些班纳特文献。这些都封装了颤抖的极化土,这些土文献将颤抖的极化对联目录放在[f z-准大脑apha t当局/机构/医学b规范n当局/机构/医学c apha c h当局/机构/医学apha r t规范f apha c tρ当局/机构/医学e n g规范n e]下

2.颤振工程产品:

隔离快照数据、隔离快照i n s t r、v m快照数据、v m快照i n s t r、颤振资产

3.颤振插件:

每个插件编译的r文件。

其中:

隔离快照数据应用程序数据段隔离快照仪器应用程序指令段虚拟机u快照u数据虚拟机虚拟机数据段虚拟机u快照u指令虚拟机虚拟机指令段

网络间操作系统的颤振相关文件:

1.颤振库和引擎:颤振框架

2.工程应用:颤振产品。框架

3.颤振插件:各种已编译插件的框架图中的其他框架

然后我们只需要提取这三部分的编译结果,并将其打包成一种s d k依赖形式,以提供给诞生地项目,这可以缓解诞生地项目对颤振工程的直接依赖。

3.2.1.android中颤振编译的任务分析

事实上,Fatter engineering的android packaging只是将一个Fatter grader任务插入到android grader任务中,这个Fatter grader主要做三件事:(这个文件可以在Fatter库的[flatter/packaging/flatter u tools/gradient]目录中找到。)

1.增加对颤振罐的依赖性。

2.插入flatter插件的编译依赖项。

3.插入Flatter engineering的编译任务,最后将产品(两个i s o l a t e u快照文件、两个虚拟机快照文件和Flatter asset文件夹)复制到合并资产中。o u t p u t d i r最终合并到p k的资产目录中。

3.2.2.在android中实现颤振相关提取

在了解了android编译的颤振工程产品后,我们提取了android的颤振依赖性,如下所示:

1.编译颤振工程。

 

这一部分的主要工作是编译颤振的驰振部分和资源部分,可以使用AOT和bundle命令进行编译。

2.将颤振罐和颤振工程产品打包在一起

这一部分的主要工作是将颤振箱和step编译的第一部分封装成一个

(1)增加颤振油箱依赖性

(2)将颤振产品合并为资产

2.同时,将ar和颤振插件编译的ar发布到专家仓库。

(1)发布颤振工程产品包装的r

(2)释放颤振插件的r

3.对于纯出生地项目,我们只需要写一个r,然后发布给专家。

在正常的开发阶段,我们需要依赖最新的实时版本,所以我们使用快照版本。

3.3.如何在1 i o中生成依赖于文件

执行编译命令“flatter build io s”最终将执行flatter[x c o d e u-b a c k e n d.s h]的编译脚本,该脚本主要完成以下任务:

1.获取各种参数(如项目路径、目标路径、施工模式等),主要是世代相传。x c o n f i g的各种定义。

2.删除颤振目录中的应用程序。框架和应用程序。f l x

3.比较一下颤振。如果框架不等于${f l a t e r\\u u u r o t}/b i n/c a c h e/a r t i f a c t s/e n g i n e/${a r t i f a c t s\u u u u u r i a n t}目录中的颤振框架,则使用后者来覆盖前者。

4.获取生成应用程序。框架命令所需的参数(施工目录、本地引擎标志、预览省道标志、a o t标志)

5.构建应用程序。框架,并将生成应用程序。框架和一个p f r a m w o r k i n f o。普雷斯特将其复制到x c o d e项目的颤振目录中。

3.3.两个输入输出的颤振相关提取的实现

网络间操作系统颤振相关性的提取步骤如下:

1.编写颤振工程生成应用程序。框架

2.将每个插件打包为一个静态库。

这里有两个主要步骤:一个是将插件键入二进制文件,另一个是将插件的注册条目键入二进制文件。

3.将这些文件上传到远程仓库并生成新标签

4.纯出生地项目只需要更新pod依赖项。

通过上述方式,我们可以消除诞生地项目对颤振工程的直接依赖,但在日常开发中仍存在一些问题:

1.颤振工程更新,远程依赖库更新不及时。

2.在版本集成期间,很容易忘记更新远程依赖关系库,导致版本未集成最新的颤振功能。

3.同时,当多行并行开发颤振时,版本管理混乱,远程库容易被覆盖。

4.它甲方的至少之一学生的跟风金曲的释放tmt,的的劳动部保费的高.

针对这些问题,我们引入了我们团队的word自动化框架,从两个方面解决了这些问题:

(关于word自动化框架,我们将在稍后撰写并分享)

一方面,自动化通过自动化降低了劳动力成本和人为错误。

另一方面,做好版本控制,以自动化的形式进行版本控制。

具体操作:

首先,每次需要建设纯出生地项目之前,都会自动完成颤振项目对应的远程库的编译和发布,整个过程不需要人工干预。

其次,在开发和测试阶段,采用五段版本号,最后一位数字自动递增,以确保在测试阶段并行开发的所有颤振库的版本号不会冲突。

最后,在发布阶段,采用三阶段或四阶段版本号,可以与应用程序版本号一致,以便于跟踪后续问题。

的整个过程的表层的的汉白玉低于:

idle fish技术团队是一支短小精悍的工程技术团队。我们不仅注重业务问题的有效解决,还推动在移动终端上突破技术堆栈分工限制(n d r o i d/i o s/h t m l 5/s e r v r的编程模型和语言的统一)和计算机视觉技术的前沿实践工作。作为休闲鱼科技团队的软件工程师,你有机会展示你的才华和勇气,并证明技术发展是改变你生活方式的动力,推动整个产品的发展和用户问题的解决。

没有供应的闲置鱼类的做法是什么?如何做到这一点?游手好闲的鱼没有货源。闲置市场规模超过万亿。二手电子商务迎来了循环经济的红利。“校园圈”真的能成为游鱼生长的第二个引擎吗?如果闲置的鱼被恶意退回怎么办?开店时如何提高闲置鱼的暴露率?

复制成功

微信号: ccjun91
添加微信群,试用软件

我知道了
添加微信

微信号: ccjun91
添加微信群,试用软件

一键复制加过了
18749471747
微信号:ccjun91添加微信
ccjun91