Jenkins 与 Accurev 集成构建
? jenkins ?    2019-01-11 16:19:24    883    0    0
gua_l   ? jenkins ?

前言 

使用jenkins  可以自动持续地拉取版本库的代码,并进行定时构建或执行指定命令。jenkins 已经有各大种主流配置管理工具的集成插件,只需要将源码使用的工具插件安装上,并在job配置页面的源码管理部分配置上代码来源,便可以轻松实现自动更新并构建。

以下以Accurev 为源码版本管理工具进行解析。


 

插件安装

系统管理 -->插件管理  --> 可选插件 --> Accurev ( 工具为git/svn 时同理)


 

系统设置 

Accurev 安装完毕后 ,在系统管理 -->系统设置  里,可以发现多了一个Accurev 的配置。将 Accurev Server 的信息配置后保存。只有系统设置中先将Accurev server 配置好,在具体的job 中配置源码时,才能通过选择Accurev server  来配置其中的库和流。

 



源码管理

新建具体的项目,在源码管理中,选择Accurev 工具,Server 一项,是下拉菜单,只能选择在系统设置配置的server。

填写对应的Server ,Depot, Stream的信息


 

构建触发器

源码配置好后,便是在构建触发器中配置触发的条件,这里介绍两种:定时构建和轮询SCM ,其他的条件的用法在选项右侧的问号中有介绍。

语法:与linux crontab 的用法差不多。将右侧的问号展开,可得到更详细的说明:

Examples:

# every fifteen minutes (perhaps at :07, :22, :37, :52)
H/15 * * * *
# every ten minutes in the first half of every hour (three times, perhaps at :04, :14, :24)
H(0-29)/10 * * * *
# once every two hours at 45 minutes past the hour starting at 9:45 AM and finishing at 3:45 PM every weekday.
45 9-16/2 * * 1-5
# once in every two hours slot between 9 AM and 5 PM every weekday (perhaps at 10:38 AM, 12:38 PM, 2:38 PM, 4:38 PM)
H H(9-16)/2 * * 1-5
# once a day on the 1st and 15th of every month except December
H H 1,15 1-11 *​

 定时构建和轮询SCM的区别:

1. 定时构建是不管版本库是否有提交,到设置的时间点时便进行代码检出,风雨不变地进行想创建。

2,轮询SCM 是到设置的时间点时,检查是否有提交,有提交进行构建,没有提交便静默跳过。

 


脚本设置

在构建设置中,增加一个执行shell 的构建步骤,在shell 中填入 编译命令。


 

至此,一个 自动持续构建Accurev stream 的job 便设置好了。效果是,Jenkins 每隔15分钟轮询一次Accurev Server ,  配置的源码Stream 是否有提交,如果有,则触发构建:更新代码,执行脚本。

此外,类似的项目可以设置在node 上构建,即不在master server 上构建,指定已经配置好的slave (如某个编译服务器),使代码更新到slave 上编译。

jenkins 节点服务器可见另一篇 :《Jenkins 常用插件 -- slave》

http://blog.leanote.com/post/gua_l/jenkins-slave

 

Pre: Jenkins 插件开发

Next: jenkins 构建脚本标记为failure

883
Sign in to leave a comment.
No Leanote account? Sign up now.
0 comments
Table of content