首先感谢博主“爱自己”的分享,博主提供的资料对我助益良多,jenkins的各方面内容都写的很详细。博客地址:http://www.cnblogs.com/zz0412/p/jenkins02.html


    其实在此之前我已经使用jenkins有一段时间了,但都是基于别人已经部署好的项目,每次只需要配置一下svn的版本号,然后点一下立即构建即可,所以对于里面的逻辑一窍不通,出于对jenkins的好奇,我还是想自己动手从头到尾构建一个项目试试^_^。不得不说实际动手和纯看理论差距不少,所以我总结了此次项目部署的经过以及当中碰到的一些问题。


  1. 安装jenkins

    到jenkin官网http://Jenkins-ci.org/ 下载安装包,一路往下安装即可

  2. 启动jenkins

    jenkins安装完毕以后会以8080端口自启动,但我本地代码调试已习惯使用tomcat默认端口8080,这样会造成端口号冲突,所以需要更改jenkins的使用端口,方法如下:

    在本地新建编辑一个批处理命令文件jenkins-start.bat,之后双击改文件就能以指定端口号8000【端口号根据需要自行设置】启动jenkins,文本内容如下:

    set JENKINS_HOME=d:\jenkins
    cd /d %JENKINS_HOME%
    java -jar %JENKINS_HOME%\jenkins.war --httpPort=8000

  3. 配置jenkins

    系统管理》系统设置

    执行者数量:4[jenkins允许同时构建的任务上限]

    JDK安装:别名=JDK1;[已有jdk的不要勾选"自动安装"];JAVA_HOME=D:\Java\jdk1.7.0_01

    ANT安装:别名=Ant1;[已有ant的不要勾选"自动安装"];ANT_HOME=D:\Java\apache_ant_1.9.0

    Jenkins Location:Jenkins URL=http://localhost:8000/[如需远程访问可设为ip:端口]

                      系统管理员邮件地址:xxx.xx@xxx.com

    邮件通知:SMTP服务器=61.xxx.83.xxx

              用户默认邮件后缀=@xx.com

              测试邮件配置=勾选"通过发送测试邮件测试配置">配置邮件地址>点击TestConfigration

    其他系统设置暂采用默认值

    系统管理》插件设置

    jenkins会自动安装一系列插件,如svn、ant,但如果希望jenkins能够将war包远程部署到服务器上,则需要额外安装deploy插件。[小白表示不知道为什么安装完jenkins之后,可选插件栏啥都没有>_<,所以只能手动上传插件包]

    插件管理>高级>上传插件,上传deploy插件包[下载地址http://mirror.xmission.com/jenkins/plugins/deploy/],jenkins会自动安装该插件

    ok到目前为止,jenkins配置已经够用了,接下来就可以创建任务了^_^

  4. 新建任务

    点击新建>Item名称=FirstJob;勾选"构建一个自由风格的软件项目"

    配置>源码管理>选择"Subversion",Repository URL配置源码的svn路径

        >增加构建步骤>Invoke Ant>Ant Version="Ant1";Targets=local

         ant会根据Targets从build.xml查找name="local"的配置,文本节选内容如下:

    <target name="local" depends="compilesrc">
        <copy file="${configuration.dir}/web.config" tofile="${web-inf.dir}/classes/web.config" />
        <copy file="${configuration.dir}/web.xml" tofile="${web-inf.dir}/web.xml" />
        <copy file="${configuration.dir}/log4j.properties" tofile="${web-inf.dir}/log4j.properties" />
        <war destfile="${release.dir}/MyFirstJob.war" basedir="${webroot.dir}" webxml="${web-inf.dir}/web.xml" />
    </target>

       >加构建后步骤>Deploy war/ear to a container

         WAR/EAR files=release\MyFirstJob.war[war包的路径,如上配置的war节点destfile]

         Context path=/MyFirstJob[war包解压后路径,也可直接配"/",即为默认的ROOT路径]

         Containers>Add container>tomcat 7.x>

                   Manager user name=system

                   Manager password=password

                   Tomcat URL=http://localhost:8080

         此处的user name和password来源于${env.CATALINA_HOME}\conf\tomcat-users.xml        

<tomcat-users>
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <role rolename="manager-jmx"/>
  <role rolename="manager-status"/>
  <user username="system" password="password" roles="manager-script, manager-status, manager-gui"/>
</tomcat-users>

      >增加构建后步骤>Email Notification

       配上邮件地址之后,如果构建不稳定则会往该邮箱发送邮件


到此jenkins构建任务告一段落~