MacOX+jenkins+svn搭建持续集成环境

一、jenkins安装

可以到 jenkins官网 下载最新版本的jenkins。我的版本是v1.651.1。对于MAC版本,直接一路点下一步即可安装完成。
完成之后,jenkins会自动启动。在浏览器上访问http://localhost:8080/ 即可进入jenkins页面。

1. 权限设置

jenkins可以为团队中的每个成员配置相应的权限。
(1)首先在kenkins-->Configure Global Security 中开启允许用户注册。

MacOX+jenkins+svn搭建持续集成环境_第1张图片
开启用户注册

这时候再进入 http://localhost:8080/ 即可发现下面有创建用户账号的入口了。
(2)注册账号。这个和普通注册账号一样。可以按照团队成员来创建角色,如果成员不多安全性要求不高的话,也可以按角色创建用户。比如我创建了 developer用户,QA用户。
(3) 为用户分配权限。默认的授权策略是任何用户可以做任何事情。我们为了管理方便,让特定角色关注自己的本职工作,如普通人员就不要有配置jenkins的权限,以防迷惑或者误操作。
可以选择项目矩阵授权策略。依然在kenkins-->Configure Global Security中选择。
在添加用户/组中添加刚才注册的用户。并勾选相应的权限。
注意,一定要为管理员角色添加所有的权限后再点保存,否则点完保存之后没有权限操作,傻眼了。
MacOX+jenkins+svn搭建持续集成环境_第2张图片
权限配置

2. 创建构建任务

jenkins-->新建,填上要创建的构建任务名称,选择一个模块,点OK之后,任务就创建好了。在构建任务列表中可以看到自己创建的构建任务了。

MacOX+jenkins+svn搭建持续集成环境_第3张图片
3.png

点击进入相应的构建任务,点左边配置,可以进入构建任务配置页。

3. 插件

jenkins很灵活,任务配置很多,大部分灵活的功能都是通过插件来完成的。
在 jenkins-->系统管理-->插件管理 中,可以下载需要的插件。直接搜索相应的插件名,安装即可。默认版本已经自带了一些常用插件,也可以在这里查看。
以下是我用到的一些插件:
Python Plugin 让构建的时候支持python脚本。
Subversion Plug-in 支持svn。系统自带。
Xcode integration 支持xcode打包。
Active Choices Plug-in 动态选项插件。可以在参数和构建过程中,选择一个参数选项,另外的参数选项自动根据这个选择的值进行变化。

二、 任务配置

1. 参数化构建配置

对于较为灵活的系统,常常需要参数化构建。有时候参数之间还有依赖。
构建任务的设置中,勾选参数化构建过程,选择添加参数,选择相应的参数类型。


MacOX+jenkins+svn搭建持续集成环境_第4张图片
参数构建

(1)普通参数

String Parameter 可以创建字符串类型的参数,Text Parameter可以创建文本类型的参数。填上相应的名字,默认值,描述等。之后在任务右边会出现参数化构建的按钮。
在构建的时候,可以填上参数的值。参数的值可以通过环境变量的方式获取。
如你在参数配置中添加了名为productName的string类型的参数,构建的时候填的值为pdGame :


MacOX+jenkins+svn搭建持续集成环境_第5张图片

则在构建的python脚本中,可以这样获取参数的值:

import os
productName = os.getenv("productName")
print "paramName = " + paramName
#  此时 productName的值就是dpGame

(2)动态参数构建

安装 Active Choices Plug-in 插件之后,可以实现动态参数构建。
比如下面的方法,可以构建两个相互依赖的参数的构建。
在参数构建中添加参数,选择 Active Choices Reactive Parameter, 添加第一个参数productType。

MacOX+jenkins+svn搭建持续集成环境_第6张图片

我们选择single Select 选项类型,Groovy脚本中返回可选的两个值。

然后再添加一个参数customType。注意下面引用的参数填上上面的参数名字productType,即可在Groovy脚本中使用上一个参数的值了。于是脚本中根据不同的productType选择的值,返回不同的选项。

MacOX+jenkins+svn搭建持续集成环境_第7张图片

效果如下:

MacOX+jenkins+svn搭建持续集成环境_第8张图片
选择productType为productA,customType有2个选项

MacOX+jenkins+svn搭建持续集成环境_第9张图片
选择productType为productB,customType有1个选项

2. 构建触发器

可以为构建任务设置构建触发器,告诉构建任务什么情况下触发构建。定时构建可以在特定的时候触发构建。

  • Build periodically 周期性构建 比如用于打daily build。
    选择触发器为Build periodically,日程表的配置规则可以点击右边的小问号看。猛击这里,也有一些常见的日程表配置。比如每天中午12:30的时候跑一次,日程表可以配置如下:

     30 12 * * * 
    
  • Poll SCM 定时检查源码变更构建。比如每10分钟检查一次,自动构建,日程表配置成这样:

    H/10 * * * *
    

你可能感兴趣的:(MacOX+jenkins+svn搭建持续集成环境)