Jenkins
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能够从项目的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 的安装
下载jenkins.war, 拷贝到c:\jenkins下(不局限c盘,其他的也可以),然后运行java -jar jenkins.war.(注意需要先安装JDK,然后设置JAVA_HOME环境变量且将%JAVA_HOME%\bin加入到PATH环境变量中)
运行如下:
c:\jenkins>java -jar jenkins.war
Running from: C:\jenkins\jenkins.war
webroot: $user.home/.jenkins
[Winstone 2011/11/02 17:11:27] - Beginning extraction from war file Jenkins home directory: C:\Users\AAA\.jenkins found at: $user.home/.jenkins [Winstone 2011/11/02 17:12:57] - HTTP Listener started: port=8080
[Winstone 2011/11/02 17:12:57] - AJP13 Listener started: port=8009 [Winstone 2011/11/02 17:12:58] - Winstone Servlet Engine v0.9.10 running: controlPort=disabled
Nov 02, 2011 5:12:58 del.Jenkins$6 onAttained
INFO: Started initialization
Nov 02, 2011 5:13:02 del.Jenkins$6 onAttained
INFO: Listed all plugins
Nov 02, 2011 5:13:02 del.Jenkins$6 onAttained
INFO: Prepared all plugins
Nov 02, 2011 5:13:02 del.Jenkins$6 onAttained
INFO: Started all plugins
Nov 02, 2011 5:13:02 del.Jenkins$6 onAttained
INFO: Augmented all extensions
Nov 02, 2011 5:13:02 del.Jenkins$6 onAttained
INFO: Loaded all jobs
Nov 02, 2011 5:13:04 del.Jenkins$6 onAttained
INFO: Completed initialization
Nov 02, 2011 5:13:04 PM hudson.TcpSlaveAgentListener <init>
INFO: JNLP slave agent listener started on TCP port 37157
Nov 02, 2011 5:13:14 PM hudson.WebAppMain$2 run
INFO: Jenkins is fully up and running
访问localhost:8080 , jenkins的主界面如下:
如果出现这样的图片,说明安装成功!
构建Java HelloWorld
注意:我们知道Jenkins通过master/slave来支持分布式的job运行,这里的JavaHelloworld运行在master,即Jenkins所在的机器。
一Java的HelloWorld程序
<project name="HelloWorld" basedir="." default="main">
<property name="src.dir" value="src"/>
<property name="build.dir" value="build"/>
<property name="classes.dir" value="${build.dir}/classes"/>
<property name="jar.dir" value="${build.dir}/jar"/>
<property name="main-class" value="oata.HelloWorld"/>
<target name="clean">
<delete dir="${build.dir}"/>
</target>
<target name="compile">
<mkdir dir="${classes.dir}"/>
<javac srcdir="${src.dir}" destdir="${classes.dir}"/>
</target>
<target name="jar" depends="compile">
<mkdir dir="${jar.dir}"/>
<jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
<manifest>
<attribute name="Main-Class" value="${main-class}"/>
</manifest>
</jar>
java笔记总结</target>
<target name="run" depends="jar">
<java jar="${jar.dir}/${ant.project.name}.jar" fork="true"/> </target>
<target name="clean-build" depends="clean,jar"/>
<target name="main" depends="clean,run"/>
</project>
Java的helloworld:c:\JavaHelloWorld\src\oata\helloworld.java
package oata;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
二启动Jenkins且创建job来运行JavaHelloWorld
1)启动jenkins在8000端口:
2)创建JavaHelloWorld的job
在ie中打开localhost:8000,
单击new job链接,为javahelloworld新建job,且编译job的配置如下:注意jenkins默认已经安装了svn的plugin了。
3)运行JavaHelloWorld的job
进入JavaHelloWorld的主页面,点击build now链接进行build,build后可以在此主页
面上看到所有的build历史,如下:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论