Jenkins学习笔记 ---Jenkins持续集成之入门篇

1.1  编写目的

编写本文档,旨在与大家交流经验、分享成果。该文档主要说明了如何结合安装配置Tomcat、JDK、Ant、Subversion等工具搭建基于Jenkins的持续集成环境。

编者按:文档涉及到Jenkins的安装配置,但并未涵盖Jenkins的所有功能范畴。

1.2  术语与缩略词

术语和缩略语说明

术语及缩略词

说明

CI

Continuous Integration,持续集成

Jenkins

用于CI的开源项目,持续集成工具,笔者所用jenkins1491.zip

JDK

Java开发必备工具包;

笔者所用JDK安装包:jdk-6u25-windows-i586.exe

JRE

Java Runtime Environment,Java运行时环境

JAVA_HOME

D:\CI\Env\Java\jdk1.6

CLASSPATH

.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

PATH

%JAVA_HOME%\bin; %JAVA_HOME%\jre\bin;%ANT_HOME%\bin;

ANT_HOME

D:\CI\Env\apache-ant-1.7.0

Tomcat

开源项目,Web服务器,笔者所用apache-tomcat-6.0.26.zip

Tomcat_Home

D:\CI\Env\apache-tomcat-6.0.26

Jenkins工作目录

D:\CI\Workspace

 

2      基于Jenkins的CI环境

2.1  搭建Jenkins环境

2.1.1  安装目录约定

在D盘建立CI目录,其下包括Env、Workspace两个目录。

Env:请将Java、Ant、Tomcat、findbugs等工具都安装在此目录下;

Workspace:Jenkins工作目录,比如从SVN获取的代码等内容都存放在此目录下。

笔者强烈建议按上图所示目录结构进行各类工具的安装,在后期会给大家带来很大的好处,比如环境变量的配置,Ant脚本的简单复用等等。

2.1.2  JDK安装

       JDK的安装过程跟普通的Windows程序安装过程类似,只要不停的Next就可以啦,详细的安装步骤在此略过。

       参照“2.1.4 环境变量配置”配置后环境变量后,在Dos窗口下,输入java-version并回车,如果出现下图所示提示,说明JDK已经安装配置成功了。

2.1.3  Ant安装

       笔者使用的是免安装版Ant(apache-ant-1.7.0.rar),只要解压即可。

       参照“2.1.4 环境变量配置”配置后环境变量后,在Dos窗口下,输入ant -version并回车,如果出现下面的提示,说明Ant已经安装配置成功了。

2.1.4  环境变量配置

       在安装完成JDK与Ant以后,还需要正确的配置环境变量才可以使用,您需要新增JAVA_HOME、CLASS_PATH以及ANT_HOME三个环境变量,修改PATH环境变量。在修改PATH环境变量时,请在已有的PATH变量内容后面附加。详情请参阅章节“1.2术语与缩略词”,如果您按笔者建议的目录结构安装与解压,你只需要简单复制相关内容即可。

       请点击“我的电脑—属性—高级—环境变量”,以打开环境变量配置窗口,如下图所示。

2.1.5  安装Tomcat

       笔者使用的是免安装版apache-tomcat-6.0.26,简单的压缩文件,只要解压即可。

       Tomcat安装或解压完成后,在Tomcat的安装路径下找到:bin/startup.bat

       双击运行该文件,如果弹出如下的Console窗口,则说明Tomcat已经可以正常启动了。

       在你的浏览器地址栏上键入:http://127.0.0.1:8080/

       按下回车,如果能够看到如下页面,则说明你的Tomcat已经安装成功啦。

Tips:

1、如果Tomcat不能正常启动,请检查你的环境变量中是不是已经正确设置了[JAVA_HOME]。

2、如果启动Tomcat发生了端口冲突提示,请关闭占用端口的应用;或是修改Tomcat的配置文件 [{tomcat_home}/conf/server.xml],按注释的说明,修改相应端口。

2.1.6  安装Jenkins

       Jenkins是以J2EE Web应用包的形式提供的。笔者所使用的文件是jenkins1491.zip。请将该文件重命名为Jenkins.war(为了文档编写方便)。

       请将Jenkins.war拷贝至tomcat_home的webapps目录下:

       {tomcat_home}/webapps

       Tomcat会自动部署Jenkins(如果遇到部署异常,尝试重启tomcat),如下图所示:

显示Jenkins is fully up and running则jenkins环境已经启动完成。

       在浏览器地址栏输入:http://本地IP地址:8080/Jenkins

       按下回车,如果能够出现如下图所示页面,说明你的Jenkins安装成功了。

2.2  配置Jenkins

这一节开始我们来了解Jenkins基本环境的配置。

       在Jenkins首页,左侧菜单栏有四个功能菜单【新Job】、【查看用户】、【任务历史】、【系统管理】。

点击【系统管理】,进入系统管理页面,如下图所示:

       在上图所示系统管理页面中,我们主要关心的是【系统设置】项,请点击【系统设置】链接,进入系统设置页面,找到如下图所示配置内容:

       在上图中,单击【新增JDK】:

       取消对【自动安装】选项的选择,出现如下内容,在其中填写完成【别名】、【JAVA_HOME】即完成了对JDK的配置。

       【Ant】的配置跟【JDK】类似,在此不再赘述,配置完成后的页面,请参照下图。

       对于【Subversion】和【Jenkins URL】的配置请参见下图,需要说明的是,在配置【Jenkins URL】的时候,请填写您的Jenkins服务器的IP地址。

       点击页面最下方的【Save】按钮,保存即可。

       现在,我们已经完成Jenkins环境的基本配置了。

2.3  Jenkins插件安装

Jenkins基础环境安装完成了,接下来我们介绍如何安装Jenkins插件。

目前,笔者主要用到了如下插件:

插件名称

版本

说明

Publish Over SSH

1.9

用于上传发布包的插件。

Static Analysis Utilities

1.48

用于辅助分析构建结果的插件。

FindBugs Plugin

4.45

用于自动构建时自动按规则检查代码的插件。

JaCoCo Plugin

1.0.9

用于自动测试代码覆盖率的插件。

Tagging Plugin Subversion

1.16

用于SVN打标签时使用的插件。

Build PipelinePlugin

1.3.3

Job级联展示插件。

       有需要的同事,可以向笔者获取已经下载好的插件。

2.3.1  本地上传安装插件

在Jenkins首页,依次点击【系统管理】、【管理插件】,如果在【已安装】Tab也没有找到需要的插件,那我们需要安装它。如下图:

在【高级】页面中找到“上传插件”部分,选择【浏览】,找到本地.jpi文件点击【上传】即可。

记得上传完成所有需要的插件后要重启Tomcat才会生效哦!

好了,到这里我们已经基本完成了jenkins环境的安装。如果有问题再回过头看看相应的章节,是否有配置错误的地方,好好检查下吧!

2.4  Jenkins权限管理

Jenkins基于角色的用户管理就要借助插件“Role-basedAuthorization Strategy”,该插件的安装可以采用在线安装或者下载之后本地安装,安装的过程都很简单快捷,切记插件安装之后要重启Jenkins服务。

2.4.1  启用安全策略

要想使用Jenkins的权限管理功能,通常要遵循如下几个步骤:

一:首先要在“系统设置”里面的勾选“启用安全”选项。如下图所示:

二:注册“admin”管理员账号,注册“admin”账号之后Jenkins会默认设置为管理员权限。注册其他账号是不会默认分配权限的。

三:安装“Role-BasedStrategy”插件并且启用为当前的“授全策略”。

四:以上几步配置完成之后,就会在“系统管理”里面出现一个新的选项“Manage and Assign Roles”。、

2.4.2  权限配置

2.4.2.1        角色分配权限

角色管理分两类,一类是“Global roles”基于全局的角色设置,另一类是“Project roles”基于项目的角色设置。

一:“Global roles”通常用来设置 “系统管理员”,“任务的创建者”,“anonymous”等的全局性角色,诸如“Overall”,“Slave”等权限的设置。

二:“Project roles”通常是用来设置某个项目针对某些人员的局部性角色,诸如“Job”,“Run”等权限的设置。

三:值得注意的是“Global roles”会覆盖“Project roles”具有相配置项的权限。

四:“Project roles”的“Pattern”属性是采用后置通配符的方式来配置的,是严格区分大小写的。比如下图“testerA”角色就是应用与项目名称为“New”开始的项目。

2.4.2.2        用户分配角色

一:用户分配角色可以同时分配“Global roles”和“Project roles”,如下图所示:

二:即用户“gavin”有与角色“testerA”和“testerB”所对应的项目权限,而用户“leq”就只具有与角色“testerB”所对应的项目权限,如下图所示:

3      附录

       暂无。

猜你喜欢

转载自blog.csdn.net/bihansheng2010/article/details/51262985