说明
Jenkins是一个开源的持续集成工具,主要用于自动化编译、测试和部署软件项目。它使用简单直观的用户界面,提供了强大的扩展性,能够灵活地迎合用户的需求。
因为其灵活的特性,我们经常会有很多花式用法。比较常见的一种是,抛弃Jenkins的原有用户界面,自己写一个新界面,后台调用Jenkins API,进行构建等各种操作
。原因嘛,可以自定义构建流水线,而且还能给用户一个友好的界面。
现在说的是另一种套壳方式,虽说不常见,但是多少也可以给我们工作中提供一种思路。
背景
有些代码量或编译构建比较耗时的项目,因为在研发工作机上,做编译不方便,所有我们会给研发同事开通服务器账号,让他们在服务器上作构建。
还有就是研发人员只有少数代码仓库的权限,而完整的编译过程需要多个仓库。
步骤
- 建一个Jenkins服务器,并将研发服务器挂载到Jenkins服务器上面;
- 新建一个Jenkins Job,将可执行机器设置为研发服务器;
- 编写一个JMake的可执行程序:
- 在JMake中调用Jenkins Job
- 设置JMake构建参数,进行下载代码、编译构建等步骤,
- 打包构建结果,输出构建log
```mermaid
graph TD;
A(JMake)-->B(调用研发服务器为执行机的Jenkins Job);
B(调用研发服务器为执行机的Jenkins Job)-->C(复制研发工作目录下的代码diff);
C(复制研发工作目录下的代码diff)-->D(执行编译);
D(执行编译)-->E(打包编译生成物,显示log);
```
操作步骤
实际的使用步骤,就是JMake的操作说明,主要就是更新和维护JMake,以及相关的Jenkins Job中的构建脚本