首页 > 代码库 > 【大话QT之十七】Jenkins介绍及安装使用文档(与Git集成)

【大话QT之十七】Jenkins介绍及安装使用文档(与Git集成)

文章目录结构如下:

1> Jenkins与Git相关介绍

2> Jenkins部署安装

3> Gitblit部署安装

4> Jenkins与Git集成使用

5> 项目集成开发实例

6> 总结

一、Jenkins与Git相关介绍

Jenkins是现在非常流行的持续集成(Continuous Integration)CI服务器,它的前身是Hudson。Jenkins易于安装,不需要数据库的支持,直接通过Web界面进行配置,而且集成了RSS/Email的通知机制,支持分布式构建,具有丰富的插件,这些都是Jenkins相比其它持续集成服务器的优势所在。

Git在Wikipedia上的定义是,它是一个免费的、分布式的版本控制工具,或者是一个强调了速度快的源代码管理工具。Git最初被Linux Torvalds开发出来用于管理Linux内核的开发。每一个Git的工作目录都是一个完全独立的代码库,并拥有完整的历史记录和版本追踪能力,不依赖于网络和中心服务器。Git的出现减轻了许多开发者和开源项目对于管理分支代码的压力,由于对分支的良好控制,更鼓励开发者对自己感兴趣的项目作出贡献。其实许多开源项目包括:Linux kernel,Samba,X.org Server, Ruby on Rails,都已经过渡到使用Git作为自己的版本控制工具。

Jenkins持续集成的主要流程就是Jenkins会在后台进行,轮询版本控制的存储库,当发现版本库出现变更,就会通过预定义的构建脚本进行项目的构建,Jenkins会根据项目需求将构建的任务分配到Slave端。一般的项目构建过程主要分为自动化编译和自动化测试两个阶段,这同样是你脚本发挥作用的阶段。

二、Jenkins部署安装

本文档Jenkins安装配置环境:Centos 6.3。Jenkins是一款基于Java开发的开源的、当前最广泛流行的持续集成工具。丰富的插件可以让它的使用更加简单,它几乎支持所有的版本控制系统。你可以通过各种方式来配置构建过程,例如:在版本控制系统中出发一次提交,通过一个定时的脚本来调度,一个指定的编译过程完成之后开发构建等等。

1> 安装Java:yum install java-1.6.0-openjdk;安装完成后通过java -version来检查是否安装成功。

2> 将Jenkins的repo资源库加入本机。

    

3> 安装Jenkins

      rm -rf jenkins.repo

      mv jenkins.repo.1 jenkins.repo

      yum intall jenkins

4> 设置Jenkins开机自启动

      chkconfig jenkins on

5> 启动Jenkins

      service jenkins start

6> 通过web访问Jenkins

     默认情况下,Jenkins会在8080端口启动,可以通过:netstat -anop | grep 8080 来查看,访问:http://192.168.85.128:8080/访问, 注意此时要关闭防火墙。

   

7> 配置用户安全访问

      现在,我们来配置Jenkins的安全认证。默认情况下Jenkins“允许任何人做任何事情”,这里我们将采用基于矩阵的安全认证,其实就是权限列表。

     

       

      点击“Configure Global Security”-> “Jenkins专有用户数据库”-> “允许用户注册”,点击保存。保存后,在右上角就出现了注册的按钮。

     

     点击注册,填写相应的信息后,点击保存。

     现在,我们将限制用户注册,采用“基于安全矩阵的授权策略”。

     将Jenkins专有用户数据库下的“允许用户注册”勾掉,在授权策略中选择“安全矩阵”,在添加用户/组中,填写刚才注册的账号,并为他选择所有的权限列表。

    

    现在,刚刚添加的houqd2012用户在登陆后就可以管理Jenkins了。其它,注册的用户,可以利用houqd2012在账号管理中分配不同的权限。

    添加用户:“系统管理”-> “管理用户”-> “新建用户”

    赋予权限:houqd2012管理员账号登陆,在“Configure Global Security”中分配权限:为user01分配很小的权限,这样就可以对账号,以及各自拥有的权限进行统一的配置了。

     

三、Gitblit安装部署

        Git是现在很流行的分布式版本控制工具,github更是人尽皆知。但是,github要求更够访问互联网,我们可以在Github上申请一个免费的账号,然后将代码上传到这上面。但是,这是公共的平台,其它所有人均可以自由下载代码,这对于公司内部使用来说,不太安全。还好开源软件给我们提供了很多选择,比如:Gitblit、GitStack、Gitolite等。Gitblit是一个纯java库,用来管理、查看和处理Git资料库,相当于Git的java管理工具。这里我采用的是Gitblit GO版本,下载地址:http://www.gitblit.com/

1> 安装java

      yum install java-1.6.0-openjdk

2> 安装gitblit

      gitblit默认安装目录为/opt/giblit,先创建/opt/giblit目录

      tar -zxvf gitblit-1.6.0.tar.gz -C /opt/giblit

      gitblit在centos下安装的实际执行文件为:service-centos.sh

      安装脚本install-service-centos.sh的内容为:

     

      其实,它就是将service-centos.sh拷贝到启动目录下,并设为开机自启动。

      修改http端口:

     

      执行安装  ./install-service-centos.sh

3> 启动gitblit服务

      service gitblit start

     

      从以上错误中,应该可以看出是java的版本太低。重新安装较高版本的java:jdk-7u55-linux-x64.rpm。

      访问:http://192.168.85.169:8443/

     

      默认账号和密码为:admin/admin

      admin登陆后修改密码。

      创建用户,并创建第一个版本库:

     

     本地创建HelloWorld项目,并将代码提交到版本库。

    

    新建一个helloworld.c文件,仅输出一句HelloWorld,并提交版本库。

   

    现在在Gitblit的web端即可以看到版本库的提交记录。

   

    这里显示的时间是8小时前,是因为我本机的时间与安装gitblit的服务器的时间不一致。

四、Jenkins与Git集成使用

Jenkins可以基本上可以与任何的版本控制系统继承,这主要依赖于它丰富多样的插件,这里我们利用它与Git版本控制系统集成。

“系统管理”-> “管理插件”-> 在可选插件中选择一下这三个插件,然后点击安装,它同时会将依赖的其它插件包都下载下来,这种方式通常很慢,还可以我们自己将插件包下载下来,放在Jenkins安装目录下的plugins目录下,插件就可以直接安装了,下载地址 : https://updates.jenkins-ci.org/download/plugins/

需要下载的包有:

上传到/var/lib/jenkins/plugins目录,重启jenkins: service jenkins restart,再次查看已安装插件中,已经存在上面的那三个插件。

五、项目集成开发实例

最后,我们利用Jenkins来自动构建HelloWorld的项目,主要完成,编译、打包的过程。

1> 创建构建任务

    

2> 配置项目

     在源码管理中选择Git,然后填写相关信息:

    

    

     这里在填写Repository URL的时候,有可能会出现以下的错误:

    

     这是因为Git的版本太低了,默认的Centos6安装的Git版本是1.7.1,问题解决链接:

     http://serverfault.com/questions/589386/unknown-option-git-config-local-reported-by-jenkins

     解决办法:升级Git版本,解决链接:http://itekblog.com/update-git-centos/

    1) 下载rpm包

         wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.e16.rf.x86_64.rpm

    2) 安装rpm包

        rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt

        rpm -i rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

    3) 修改repo文件

        yum clean all

        vim /etc/yum.repos.d/rpmforge.repo

        将[rpmforge-extras]中的 enabled = 0 修改为 enabled = 1

   4) 更新Git

        yum update git

       git --version ===> 当前git版本更新为:1.7.12.4

3> 保存更改,测试构建

     点击立即构建:

    

    可以查看构建过程:

   

   在jenkins安装目录下的jobs文件夹下存在我们的构建项目HelloWorldBuild,在它下的workspace下即为版本库中的代码:

  

4> 添加脚本,进行自动编译

    

    再次执行构建,查看控制台输出,可以看到我们的脚本在最后被执行:

   

六、总结

       以上介绍了Jenkins的安装配置,以及它与Git配合应该如何使用,这里还有很多的一些特定没有介绍,包括:email提醒功能、多项目构建等。其最大的魅力在于脚本的编写,根据不同的脚本,可以执行的任务要多的多。例如:制作安装包,最终直接打包成最终的安装包等,就完全通过脚本来完成。

       周末一下午的工作,加油!!

【大话QT之十七】Jenkins介绍及安装使用文档(与Git集成)