Jenkins多模块编译技巧
来源:互联网 发布:什么是域名的定义 编辑:程序博客网 时间:2024/06/05 07:34
考虑下面的场景:
一个Git repository中有6个Java项目A,B,C,D,E,F.
A是最底层模块。B依赖A, C,D,E,F又同时依赖A和B。 这时候项目可以分成三层关系。
需求:
1.Jenkins只编译文件有改动的项目
默认情况系,只要一个Git repository中有代码改动,6个项目就全部会被编译,这显然是非常浪费资源的.
安装Pathignore plugin后,在每个Jenkins的项目中如下图设置:
** 代表sdk/common目录下的所有子目录的文件
2.手动指定编译顺序
由于我们采用的是maven项目,Jenkins可以根据pom.xml知道项目间的依赖关系,因此无需设置就可以自动一层层编译。
但是Jenkins会并行编译不同的项目,为了节省服务器的资源,可以通过手动设置来控制。
可以在Build other projects里面 选择下一步要编译的项目。
3.还可以指定Advanced Project Options里面的两个选项:
Block build when upstream project is building
Block build when downstream project is building
注意,2和3只是控制了编译顺序,但是1仍然会起到作用。如果A的代码提交出发了自动编译,然后第2步指定了之后要编译B, 而规则1检查B是否有代码变动,如果B代码没有改动,则编译终止。 这是非常合理的,节省了很多资源。
注意,仅仅适用于Java等基于虚拟机的语言,如果是C++,最好项目全部重新编译,除非你使用的是类似COM的技术搭建产品架构,并且interface没有改变。
- Jenkins多模块编译技巧
- jenkins+maven 多模块编译注意事项
- Android 模块编译技巧
- 【Linux内核驱动】模块编译技巧
- python-jenkins 模块安装
- jenkins使用技巧
- 关于maven多模块聚合项目部署等问题--<Jenkins>
- Struts多模块的技巧
- Struts多模块的技巧
- Struts多模块的技巧
- Struts多模块的技巧
- jenkins-maven无法编译
- 模块编译
- Java进阶:Struts多模块的技巧
- jenkins下自动编译操作
- jenkins源码编译和打包
- jenkins自动编译maven项目
- jenkins编译android apk包
- 顶点属性与顶点格式 顶点缓冲
- 配置proguard
- Linux动态链接库.so文件的创建与使用
- WES7创建系统恢复盘
- ArcGIS Runtime for WPF&Java (windows)发布啦
- Jenkins多模块编译技巧
- 计算fibonacci数列
- jquery(三)动态创建元素和常用函数示例
- 设备驱动
- 看张孝祥老师交通灯程序小总结
- Redis+Mysql模式和内存+硬盘模式的异同
- 如何调试webservice
- 对于.rar
- android 混淆错误