原文:http://www.cnblogs.com/itech/archive/2011/11/02/2233343.html
1 Jenkins
Jenkins由以前的hudson更名而来。Jenkins的主要功能是监视重复工作的执行,例如软件工程的构建或在cron下设置的jobs。具体地:
*软件的持续构建和测试,此时Jenkins与CruiseControl或DamageControl相似。本质上提供了一个易于使用的持续集成 系统,使得开发人员更容易地将改变集成到工程中,使得用户更容易获得一个新的build。自动化,持续的构建提高了软件开发的效率。
*监视外部运行的job的执行,例如cron jobs或procmail jobs,即使这些jobs是运行在远程的机器上。例如,对于cron,你将会收到email包含job的output,你需要检查email来确认是否 job broke。Jenkins将保持这些outputs且使得你更加容易地注意到job的broke。
Jenkins的主要特点:
* 容易安装,只需要执行Java -jar jenkins.war, 或者直接部署到一个servlet container中,例如tomcat。不需要安装,不需要数据库的支持。
* 容易配置,jenkins可以完全地通过友好的web GUI来配置,且配置页面支持配置项的错误检查和很好的在线帮助。不需要手动地编辑xml的配置文件,但是jenkins也支持手动修改xml配置文件。
* 项目源码修改的检测,jenkins能够从项目的Subversion/CVS生成最近修改的集合列表,且改方式非常有效,不会增加Subversion/CVS Repository的负载。
* 可读的永久的链接生成,jenkins对于大部分pages都生成清楚的可读的永久的链接,例如‘‘latest build"/"latest successful build",因此可以容易地在其他的地方引用jenkins的生成的pages。
* RSS/EMail/IM集成,可以通过RSS,EMail或IM来实时地监视build的失败。
* Build完成后仍然可以tag,支持在build完成后tag或重tag。
* Junit/TestNG 测试报告,能够很好地显示各种测试的报告,且可以生成失败的趋向图。
* 分布式build,jenkins能够分发build/test的负载到多台机器,能够更好地利用硬件资源,提高build的时间。
* 文件标识,jenkins可以标识build产生的文件,例如jars。
* 插件支持,jenkins可以通过第三方的插件来扩展。
* 跨平台,支持几乎所有的平台,例如Windows,Ubuntu/Debian,Red Hat/Fedora/CentOS,Mac OS X,openSUSE,FreeBSD,OpenBSD,Solaris/OpenIndiana.Gentoo。
2 jenkins Master在windows的安装
下载jenkins.war, 拷贝到D:\jenkins下,然后运行java -jar jenkins.war. (注意需要先安装JDK,然后设置JAVA_HOME环境变量且将%JAVA_HOME%\bin加入到PATH环境变量中)
运行如下:
D:\jenkins>java -jar jenkins.war Running from: D:\jenkins\jenkins.war webroot: $user.home/.jenkins 七月 03, 2016 6:59:55 下午 winstone.Logger logInternal 信息: Beginning extraction from war file 七月 03, 2016 6:59:57 下午 org.eclipse.jetty.util.log.JavaUtilLog info 信息: jetty-winstone-2.9 七月 03, 2016 7:00:00 下午 org.eclipse.jetty.util.log.JavaUtilLog info 信息: NO JSP Support for , did not find org.apache.jasper.servlet.JspServlet Jenkins home directory: C:\Users\yangyichen\.jenkins found at: $user.home/.jenkins 七月 03, 2016 7:00:01 下午 org.eclipse.jetty.util.log.JavaUtilLog info 信息: Started [email protected]0.0.0.0:8080 七月 03, 2016 7:00:01 下午 winstone.Logger logInternal 信息: Winstone Servlet Engine v2.0 running: controlPort=disabled 七月 03, 2016 7:00:02 下午 jenkins.InitReactorRunner$1 onAttained 信息: Started initialization 七月 03, 2016 7:00:22 下午 jenkins.InitReactorRunner$1 onAttained 信息: Listed all plugins 七月 03, 2016 7:00:22 下午 jenkins.InitReactorRunner$1 onAttained 信息: Prepared all plugins 七月 03, 2016 7:00:22 下午 jenkins.InitReactorRunner$1 onAttained 信息: Started all plugins 七月 03, 2016 7:00:22 下午 jenkins.InitReactorRunner$1 onAttained 信息: Augmented all extensions 七月 03, 2016 7:00:24 下午 jenkins.InitReactorRunner$1 onAttained 信息: Loaded all jobs 七月 03, 2016 7:00:25 下午 hudson.model.AsyncPeriodicWork$1 run 信息: Started Download metadata 七月 03, 2016 7:00:26 下午 org.jenkinsci.main.modules.sshd.SSHD start 信息: Started SSHD at port 53679 七月 03, 2016 7:00:26 下午 jenkins.InitReactorRunner$1 onAttained 信息: Completed initialization 七月 03, 2016 7:00:26 下午 jenkins.InitReactorRunner$1 onAttained 信息: Started initialization 七月 03, 2016 7:00:26 下午 jenkins.InitReactorRunner$1 onAttained 信息: Listed all plugins 七月 03, 2016 7:00:26 下午 jenkins.InitReactorRunner$1 onAttained 信息: Prepared all plugins 七月 03, 2016 7:00:26 下午 jenkins.InitReactorRunner$1 onAttained 信息: Started all plugins 七月 03, 2016 7:00:26 下午 jenkins.InitReactorRunner$1 onAttained 信息: Augmented all extensions 七月 03, 2016 7:00:26 下午 jenkins.InitReactorRunner$1 onAttained 信息: Loaded all jobs 七月 03, 2016 7:00:26 下午 jenkins.InitReactorRunner$1 onAttained 信息: Completed initialization 七月 03, 2016 7:00:26 下午 hudson.WebAppMain$3 run 信息: Jenkins is fully up and running 七月 03, 2016 7:00:30 下午 hudson.model.UpdateSite updateData 信息: Obtained the latest update center data file for UpdateSource default 七月 03, 2016 7:00:35 下午 hudson.model.DownloadService$Downloadable load 信息: Obtained the updated data file for hudson.tasks.Maven.MavenInstaller 七月 03, 2016 7:00:36 下午 hudson.model.DownloadService$Downloadable load 信息: Obtained the updated data file for hudson.tasks.Ant.AntInstaller 七月 03, 2016 7:00:39 下午 hudson.model.DownloadService$Downloadable load 信息: Obtained the updated data file for hudson.tools.JDKInstaller 七月 03, 2016 7:00:39 下午 hudson.model.AsyncPeriodicWork$1 run 信息: Finished Download metadata. 13,821 ms
访问http://localhost:8080 , jenkins的主界面如下: