天天看点

Jenkins-构建程序的持续集成平台(安装篇)安装体系

一、什么是持续集成

1、什么是集成

指的是代码由编译、发布和测试、直到上线的一个过程

2、什么持续集成

高效的、持续性质的不断迭代代码的集成工作

3、如何高效准确的实现持续集成

必不可少的需要一套能自动化、并且可视化的平台来帮助我们。

那么总结来看,jenkins就是一个可以帮助我们实现持续集成的平台。

二、为什么jenkins能帮助我们进行持续集成

理由有如下几点:

1、jenkins是一个开源的、且基于java代码开发的持续集成系统, 

因为含有非常丰富的插件支持所以我们可以方便的打通版本库、测试构建环境、线上环境的所有环节。并且丰富友好的通知使用者和开发、管理人员。

2、安装维护简单

安装jenkins,不太复杂。且支持通用的平台。

3、java 应用 常用

在企业的软件构建过程中,java的应用工程稍显复杂,由于复杂构建、和代码上线、并且服务的重启。整个过程下来,消耗的时间较多,jenkins却能很好的集成maven的编译方式,且利用自动化的插件、和自定义开发脚本的支持。所以目前广泛的应用于java工程的持续集成平台。

好了,那么接下来我就来介绍,如何搭建一套快速有效的jenkins持续集成平台。

三、jenkins持续集成平台安装

1、前期准备

svn:一个开放源代码的版本控制系统

centos6.4:一个较接近的版本linux系统

java:预先准备好一套jdk环境

2、安装

jenkins+svn+maven+shell(用于发布)

#安装jenkins #

jenkins的安装可以通过tomcat作为容器安装,由于jenkins包就自带了servlet,所以我们只需要下载安装就可以直接启动。

1、下载war包:

Jenkins-构建程序的持续集成平台(安装篇)安装体系

2、启动jenkins

java -jar ./jenkins.war –httpport=8080

3、测试

四、jenkins安装界面配置

1、解锁服务

第一次,登录,需要进行一个解锁 ,页面也会有提示,

/root/.jenkins/secrets/initialadminpassword,我们可以通过这个文件中查看密码,并输入。

2、进入安装界面

3、进入 getting started 界面 

Jenkins-构建程序的持续集成平台(安装篇)安装体系

最好能确保推荐安装的插件都有安装成功。

Jenkins-构建程序的持续集成平台(安装篇)安装体系

4、新建admin用户

会提示我们需要新建一个用户,这个我们自己新建,记得记录好新建的用户口令就行。

确认完成后,就正式进入到了jenkins的页面。

welcome to jenkins!

补充:

jenkins的配置,和插件的安装都会放入~/.jenkins中,所以如果需要重新初始化安装,只需要清理掉~/.jenkins的文件即可。

五、插件安装

1、安装插件方式选择

如果在安装时,没有安装好对应的插件可以选择如下方式进行插件的安装:

方法一.如果服务器可以上网,那边选择在线安装最好不过了,安装流程为: 

系统管理(configure system)—-插件管理(manage jenkins)—选择需要的插件直接安装即可

方法二.如果服务器不能上网,那么就只能离线安装,首先去

<a href="http://updates.jenkins-ci.org/download/plugins/" target="_blank">http://updates.jenkins-ci.org/download/plugins/</a>

下载需要的plugin,选择匹配的版本号,下载到本地,然后打开:系统管理()—插件管理—高级—找到”上传插件”(浏览,找到扩展名为.hpi的插件,上传之后默认直接就安装了。重启jenkins,安装的插件就可以使用了。

2、安装插件依赖解决

插件安装不上去,一定是某个地方出现问题。在jenkins的终端日志中,可以查看到对应的错误。需要针对性的解决。

比如:在安装subversion的时候,的错误提示。 

一般的情况安装对应的插件,会把需要依赖的插件安装上。如出现对应的依赖问题,就需要一一安装上对应的依赖包。如下错误中,我们就需要先安装好这两个依赖包。 

mapdb-api (1.0.1.0), workflow-scm-step (1.4.3)

failure - 

java.io.ioexception: failed to dynamically deploy this plugin 

at hudson.model.updatecenter$installationjob._run(updatecenter.java:1867) 

at hudson.model.updatecenter$downloadjob.run(updatecenter.java:1624) 

at java.util.concurrent.executors$runnableadapter.call(executors.java:471) 

at java.util.concurrent.futuretask.run(futuretask.java:262) 

at hudson.remoting.atmostonethreadexecutor$worker.run(atmostonethreadexecutor.java:110) 

at java.lang.thread.run(thread.java:745) 

caused by: java.io.ioexception: failed to install subversion plugin 

at hudson.pluginmanager.dynamicload(pluginmanager.java:834) 

at hudson.pluginmanager.dynamicload(pluginmanager.java:775) 

at hudson.model.updatecenter$installationjob._run(updatecenter.java:1863) 

… 5 more 

caused by: jenkins.missingdependencyexception: one or more dependencies could not be resolved for subversion : mapdb-api (1.0.1.0), workflow-scm-step (1.4.3) 

at hudson.pluginwrapper.resolveplugindependencies(pluginwrapper.java:529) 

at hudson.pluginmanager.dynamicload(pluginmanager.java:824) 

… 7 more

3、查看已经安装的插件

为了更好的方便我们学习下节课内容,请同学们通过插件管理(manage jenkins)—已安装插件(installed),确保安装好了如下的插件:

subversion plug-in jenkins对svn的支持。

maven integration plugin 用于对java代码的构建

email extension plugin 邮件模块

ant plugin 也是对java代码构建,不过是通过ant来作。

还有一些是安装jenkins的时候推荐安装的,大家也最好安装上。