﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-The NoteBook of EricKong-随笔分类-Jeekins</title><link>http://www.blogjava.net/jjshcc/category/54848.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 12 Jun 2015 05:15:33 GMT</lastBuildDate><pubDate>Fri, 12 Jun 2015 05:15:33 GMT</pubDate><ttl>60</ttl><item><title>Jenkins+Maven+Git搭建持续集成和自动化部署的配置手记</title><link>http://www.blogjava.net/jjshcc/archive/2015/06/12/425644.html</link><dc:creator>Eric_jiang</dc:creator><author>Eric_jiang</author><pubDate>Fri, 12 Jun 2015 02:59:00 GMT</pubDate><guid>http://www.blogjava.net/jjshcc/archive/2015/06/12/425644.html</guid><wfw:comment>http://www.blogjava.net/jjshcc/comments/425644.html</wfw:comment><comments>http://www.blogjava.net/jjshcc/archive/2015/06/12/425644.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jjshcc/comments/commentRss/425644.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jjshcc/services/trackbacks/425644.html</trackback:ping><description><![CDATA[<p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">前言<br />&nbsp; &nbsp; 持续集成这个概念已经成为软件开发的主流，可以更频繁的进行测试，尽早发现问题并提示。自动化部署就更不用说了，可以加快部署速度，并可以有效减少人为操作的失误。之前一直没有把这个做起来，最近的新项目正好有机会，费了一番功夫总算搞好了，特此记录。</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">1. 开发环境<br />&nbsp; &nbsp; 我这边建立的标准开发环境如下：<br />&nbsp; &nbsp; 1. Maven做项目管理；<br />&nbsp; &nbsp; 2. Git做代码管理；<br />&nbsp; &nbsp; 3. SpringMVC+Spring+Mybatis搭建的程序框架；<br />&nbsp; &nbsp; 4. Mysql作为数据存储，Druid做连接池；<br />&nbsp; &nbsp; 5. unitils作为测试框架；<br />&nbsp; &nbsp; 6. Hibernate Validator作为数据验证；</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">&nbsp; &nbsp; 7. log4j作为日志输出。<br />&nbsp; &nbsp; 注：其实这套东西非常像Grails，但不敢用太激进的技术和框架，担心招人的问题-_-!</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">2. Jenkins的部署<br />&nbsp; &nbsp; Jenkins原名是Hudson，这个渊源这里就不追溯了，网上多得是，但是千万别下错了，官网地址是<a href="http://jenkins-ci.org/" style="color: #b32bd5;">http://jenkins-ci.org/</a>。建议直接下载最新版本。</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">&nbsp; &nbsp; 这个软件的安装是我见过最简单的了，直接取war包放到tomcat下，启动tomcat即可。相应的工程配置会在~/.jenkins目录中。（当然你根据官网给的那种安装方法也行，只是在debian的那个弄法还要去下载openjdk等等，多下了很多东西，相关配置也按linux目录标准分开的，还要去找。）</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">&nbsp; &nbsp; 另外提醒一下，建议把Jenkins安装在Linux上，这样就不会出现ssh等命令找不到的问题，否则还要想办法去处理。</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">3. Jenkins的插件<br />&nbsp; &nbsp; 安装好后直接访问&#8220;http://yourhost:8080/jenkins&#8221;即可进入主界面，点击&#8220;系统管理&#8221;-&gt;&#8220;管理插件&#8221;，首次进入都是空白的，要等1分钟左右才能看到内容，在后台估计是在做更新或者下载，然后重新再进此界面就能看到内容了。</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">3.1 Git插件<br />&nbsp; &nbsp; 在&#8220;可选插件&#8221;中找到&#8220;GIT plugin&#8221;安装，最下面有个安装完重启的勾选项，选中即可。这里最搞笑的是检测网络是否连通的办法是去尝试打开google，岂不知天朝是打不开的，还好不影响下载。。。</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">3.2 Email插件<br />&nbsp; &nbsp; 这个事情非常蛋疼，之前测试怎么都发布出来邮件，最后升级了一下默认插件就行了，狂汗。在&#8220;可更新&#8221;中找到&#8220;Mailer Plugin&#8221;选中并更新即可。另外如果想有更丰富的邮件内容，就去&#8220;可选插件&#8221;中安装&#8220;Email Extension Plugin&#8221;，具体邮件内容配置网上大把可以搜。</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">3.3 其他插件<br />&nbsp; &nbsp; 默认就装了很多常用插件，比如Maven、Junit等等，如果使用感觉有问题可以尝试升级一下版本，但是没有升级说明，也不知道升级了什么东西。</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;"><br />4. 系统设置<br />&nbsp; &nbsp; 主界面点击&#8220;系统管理&#8221;-&gt;&#8220;系统设置&#8221;即可进入。重点配置以下内容：<br />&nbsp; &nbsp; 1. Java、Git、Maven的目录位置，确保可以正确找到命令；</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">&nbsp; &nbsp; 2. Jenkins URL，自动生成的，检查一下即可;<br />&nbsp; &nbsp; 3. 邮件的设置。这里注意一下，上面有一个&#8220;系统管理员邮件地址&#8221;需要填写，另外&#8220;Extended E-mail Notification&#8221;中填写配置，原来的&#8220;邮件配置&#8221;就不用再理会了。</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">5. 项目设置<br />&nbsp; &nbsp; 在主界面直接&#8220;新建&#8221;，就会有一个新的项目。重点配置以下内容：</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">&nbsp; &nbsp; 1. 源码管理：选择Git，填写&#8220;Repository URL&#8221;，并加上相应的&#8220;Credentials&#8221;，其中认证信息用私钥的话干脆直接把私钥内容填上去就行了，省的不知道目录查找规则还不知道出的啥问题。</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">&nbsp; &nbsp; 2. 构建触发器：这个地方要把&#8220;Build periodically&#8221;和&#8220;Poll SCM&#8221;都选上，时间格式都填写成一样的即可，比如&#8220;H/15&nbsp; * * * *&#8221;，下面会有个具体执行时间的提示，Build动作会自动比Poll延迟3分40秒，这个设定还是很合理的。</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">&nbsp; &nbsp; 3. 构建：增加两个构建步骤，分别是&#8220;Execute shell&#8221;和&#8220;Invoke top-level Maven target&#8221;，注意先后顺序，可以拖拽摆放的。脚本执行根据自己需要，比如我需要去修改数据库连接配置，官方建议是自己在工程里面写好脚本，这里直接调用，而不是在这写一个完整的脚本。Maven构建就加上&#8220;clean test&#8221;即可，就是运行&#8220;mvn clean test&#8221;的命令。</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">&nbsp; &nbsp; 4. Publish Junit test result report：在测试报告（XML）上加上&#8220;**/target/surefire-reports/*.xml&#8221;即可，这样就会每次测试完自动找到测试报告，在Jenkins上即可在每个构建结构里面查看到。</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">&nbsp; &nbsp; 5. 邮件通知：在构建后增加&#8220;Editable Email Notification&#8221;，填写邮件的接受者、内容格式可以直接用全局变量，重点是配置一下发送触发条件。</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">6. 安全性配置<br />&nbsp; &nbsp; 经过以上配置进行一次构建就会发现，Jenkins可以看到太多内容了，包括pull到的源码，所以非常有必要增加权限控制。进入&#8220;系统管理&#8221;-&gt;&#8220;Configure Global Security&#8221;中进行如下步骤：<br />&nbsp; &nbsp; 1. 启用安全；</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">&nbsp; &nbsp; 2. Jenkins专有用户数据库，先允许用户注册；<br />&nbsp; &nbsp; 3. 授权策略选择&#8220;安全矩阵&#8221;，新加一个&#8220;admin&#8221;的用户，把所有权限都开给admin用户；<br />&nbsp; &nbsp; 4. 在主界面的用户中找到admin，进行配置，设置登陆密码；<br />&nbsp; &nbsp; 5. 先重新登陆测试一下是否admin正常，没有问题就关闭允许用户注册，把匿名用户的所有权限都去掉。</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">7. 自动化部署<br />&nbsp; &nbsp; 这里我没有让Jenkins每次测试都去部署，一方面是考虑到单元测试基本已经满足需要了，另一方面因为测试太频繁了，一直部署也搞得Stage测试环境要经常重启，反而影响正常的人工测试。所以自己写了个脚本，在必要的时候去运行一下去自动完成整个部署工作。<br />#!/bin/sh&nbsp;<br />&nbsp;&nbsp;<br /># update code&nbsp;<br />git pull&nbsp;<br />&nbsp;&nbsp;<br /># package&nbsp;<br />mvn clean&nbsp;<br />mvn package -Dmaven.test.skip=true<br />&nbsp;&nbsp;<br /># deploy&nbsp;<br />WAR=`ls target | grep war`&nbsp;<br />TOMCAT=/home/test/apache-tomcat-6.0.41&nbsp;<br />mv target/$WAR $TOMCAT&nbsp;<br />cd $TOMCAT&nbsp;<br /># invoke another deploy script&nbsp;<br />sh deploy-war.sh $WAR webapps</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">&nbsp;</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">8. 一个非常蛋疼的问题<br />&nbsp; &nbsp; 这个和以上问题都无关，只是极其不解的是这个错误在Windows下不出现，在Linux下打成War也不会出现，只有在Linux下直接执行Maven test就会出错。其实问题的根源就是配置书写不够规范，但是错误出现的不一致性实在让人蛋疼。报错如下：<br />1 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): xxx</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">&nbsp; &nbsp; 这个就是Mybatis找不到绑定的类，但是xml是正确打包的，怎么看都是没大问题，并且windows也是对的，最后发现是我在写模糊路径的时候，classpath后面必须要加个*才是标准写法，正确写法如下：</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">&nbsp; &nbsp; &lt;bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"&gt;&nbsp;<br />&nbsp; &nbsp; &nbsp; &nbsp; &lt;property name="basePackage" value="com.gzxitao.demo.*.dao"/&gt;&nbsp;<br />&nbsp; &nbsp; &lt;/bean&gt;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp; &nbsp; &lt;bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"&gt;&nbsp;<br />&nbsp; &nbsp; &nbsp; &nbsp; &lt;property name="dataSource" ref="dataSource"/&gt;&nbsp;<br />&nbsp; &nbsp; &nbsp; &nbsp; &lt;property name="configLocation" value="classpath:configuration.xml"/&gt;&nbsp;<br />&nbsp; &nbsp; &nbsp; &nbsp; &lt;!-- 这里是要扫描多个目录下的文件，必须声明成&#8220;classpath*&#8221;，否则在某些情况下会报错 --&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &lt;property name="mapperLocations" value="classpath*:com/gzxitao/demo/*/dao/*.xml" /&gt;&nbsp;<br />&nbsp; &nbsp; &lt;/bean&gt;</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; box-sizing: border-box; margin-bottom: 15px; margin-top: 15px; -webkit-print-color-adjust: exact; background-color: #fafafc;">Maven权威指南_中文完整版清晰PDF&nbsp;&nbsp;<a href="http://www.linuxidc.com/Linux/2014-06/103690.htm" style="color: #b32bd5;">http://www.linuxidc.com/Linux/2014-06/103690.htm</a></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">Maven 3.1.0 发布，项目构建工具&nbsp;<a href="http://www.linuxidc.com/Linux/2013-07/87403.htm" style="color: #b32bd5;">http://www.linuxidc.com/Linux/2013-07/87403.htm</a></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">Linux 安装 Maven&nbsp;<a href="http://www.linuxidc.com/Linux/2013-05/84489.htm" style="color: #b32bd5;">http://www.linuxidc.com/Linux/2013-05/84489.htm</a></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">Maven3.0 配置和简单使用&nbsp;<a href="http://www.linuxidc.com/Linux/2013-04/82939.htm" style="color: #b32bd5;">http://www.linuxidc.com/Linux/2013-04/82939.htm</a></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;"><a href="http://www.linuxidc.com/topicnews.aspx?tid=2" target="_blank" title="Ubuntu" style="color: #b32bd5;">Ubuntu</a>下搭建sun-jdk和Maven2&nbsp;<a href="http://www.linuxidc.com/Linux/2012-12/76531.htm" style="color: #b32bd5;">http://www.linuxidc.com/Linux/2012-12/76531.htm</a></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">Maven使用入门&nbsp;<a href="http://www.linuxidc.com/Linux/2012-11/74354.htm" style="color: #b32bd5;">http://www.linuxidc.com/Linux/2012-11/74354.htm</a></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;">Jenkins的分布式构建及部署&#8212;&#8212;节点&nbsp;&nbsp;<a href="http://www.linuxidc.com/Linux/2015-05/116903.htm" style="color: #b32bd5;">http://www.linuxidc.com/Linux/2015-05/116903.htm</a></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;"><span style="color: #ff0000;"><strong>Jenkins 的详细介绍</strong></span>：<a title="Jenkins" href="http://www.linuxidc.com/Linux/2015-04/116515.htm" style="color: #b32bd5;">请点这里</a><br /><span style="color: #ff0000;"><strong>Jenkins 的下载地址</strong></span>：<a href="http://www.linuxidc.com/down.aspx?id=1692" target="_blank" style="color: #b32bd5;">请点这里</a></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22.3999996185303px; text-align: justify; background-color: #fafafc;"><span style="font-size: small;"><strong>本文永久更新链接地址</strong></span>：<a href="http://www.linuxidc.com/Linux/2015-06/118606.htm" style="color: #b32bd5;">http://www.linuxidc.com/Linux/2015-06/118606.htm</a></p><img src ="http://www.blogjava.net/jjshcc/aggbug/425644.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jjshcc/" target="_blank">Eric_jiang</a> 2015-06-12 10:59 <a href="http://www.blogjava.net/jjshcc/archive/2015/06/12/425644.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Jenkins+Maven+SVN搭建自动部署，自动测试环境</title><link>http://www.blogjava.net/jjshcc/archive/2015/06/12/425643.html</link><dc:creator>Eric_jiang</dc:creator><author>Eric_jiang</author><pubDate>Fri, 12 Jun 2015 02:49:00 GMT</pubDate><guid>http://www.blogjava.net/jjshcc/archive/2015/06/12/425643.html</guid><wfw:comment>http://www.blogjava.net/jjshcc/comments/425643.html</wfw:comment><comments>http://www.blogjava.net/jjshcc/archive/2015/06/12/425643.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jjshcc/comments/commentRss/425643.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jjshcc/services/trackbacks/425643.html</trackback:ping><description><![CDATA[<p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px;">《目录》</span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px; color: #0000ff;">一、安装<span style="font-family: Tahoma;">Jenkins</span></span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px; color: #0000ff;">二、配置<span style="font-family: Tahoma;">Jenkins</span></span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px; color: #0000ff;">三、自动编译</span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px; color: #0000ff;">四、自动测试</span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px; color: #0000ff;">五、自动部署</span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px;">一、安装<span style="font-family: Arial;">Jenkins</span></span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px;">地址<span style="color: blue;"><span style="font-family: Tahoma;">http://mirrors.jenkins-ci.org/</span></span>下载适合的<span style="font-family: Tahoma;">Jenkins</span>版本。</span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px; font-family: Tahoma;">Windows</span>最新稳定版的<span style="font-family: Tahoma;">Jenkins</span>地址为：<u><span style="color: blue;"><span style="font-family: Tahoma;">http://mirrors.jenkins-ci.org/windows-stable/jenkins-1.409.1.zip</span></span></u></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px;">把<span style="font-family: Tahoma;">Jenkins 1.409.1</span>版解压，把得到的<span style="font-family: Tahoma;">war</span>包直接扔到<span style="font-family: Tahoma;">tomcat</span>下，启动<span style="font-family: Tahoma;">tomcat</span>，<span style="font-family: Tahoma;">Jenkins</span>就安装完毕，是不是很简单啊。</span></p><h3><span style="font-size: 16px;">二、配置<span style="font-family: Arial;">Jenkins</span></span></h3><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px; font-family: Tahoma;">1</span>、打开<u><span style="color: #620091;"><span style="font-family: Tahoma;">http://10.3.15.78:8080/jenkins/</span></span></u>，第一次进入里面没有数据，我们需要创建<span style="font-family: Tahoma;">job</span>，我们这有<span style="font-family: Tahoma;">2</span>个项目，需要创建<span style="font-family: Tahoma;">2</span>个<span style="font-family: Tahoma;">job</span>。<u><span style="color: #620091;"><span style="font-family: Tahoma;">http://10.3.34.163:9890/jenkins/</span></span></u></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px; font-family: Tahoma;">2</span>、点击左上角的<span style="font-family: Tahoma;">new job</span>，在<span style="font-family: Tahoma;">new job</span>页面需要选择<span style="font-family: Tahoma;">job</span>的类型，<span style="font-family: Tahoma;">Jenkins</span>支持几种类型，我们选择&#8220;构建一个<span style="font-family: Tahoma;">maven2/3</span>项目&#8221;</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px; font-family: Tahoma;">3</span>、点击<span style="font-family: Tahoma;">OK</span>按钮后，进会进入详细配置界面，详细配置界面的配置项很多，不过不用怕，大部分使用默认配置就可以了，下面就说说我们需要修改的几个地方：</p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px; font-family: Tahoma;">3.1</span>）<span style="font-family: Tahoma;">Source Code Management</span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px;">因为我们使用<span style="font-family: Tahoma;">SVN</span>管理源码，所以这里选择<span style="font-family: Tahoma;">Subversion</span>，并在<span style="font-family: Tahoma;">Repository URL</span>中输入我们的<span style="font-family: Tahoma;">SVN</span>地址：</span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px; color: #0000ff; font-family: Tahoma;">http://10.3.34.163:9880/XXXX/trunk/</span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px;">输入<span style="font-family: Tahoma;">SVN</span>库的<span style="font-family: Tahoma;">URL</span>地址后，<span style="font-family: Tahoma;">Jenkins</span>会自动验证地址，并给予提示。</span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px;">点击<span style="color: red;">红色字体</span>部分的<span style="font-family: Tahoma;">enter credential</span>链接，进入页面</span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px;">设置好访问<span style="font-family: Tahoma;">SVN</span>库的用户名和密码后，点击<span style="font-family: Tahoma;">OK</span>按钮</span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px;">设置成功。点击<span style="font-family: Tahoma;">Close</span>按钮，返回之前的<span style="font-family: Tahoma;">Source Code Management</span>页面。此时不再有红色警告信息了。</span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px;"><span style="color: black;"><span style="font-family: Tahoma;">3.2</span></span><span style="color: black;">）配置自动构建的计划，假设我们想让项目中每天</span><span style="color: black;"><span style="font-family: Tahoma;">12</span></span><span style="color: black;">点和晚上</span><span style="color: black;"><span style="font-family: Tahoma;">8</span></span><span style="color: black;">点自动构建一次，只需要在</span><span style="color: black;"><span style="font-family: Tahoma;">Build Triggers</span></span><span style="color: black;">中选择</span><strong><span style="color: black;"><span style="font-family: Tahoma;">Build periodically</span></span><span style="color: black;">，并在</span><span style="color: black;"><span style="font-family: Tahoma;">Schedule</span></span><span style="color: black;">中输入</span><span style="color: black;"><span style="font-family: Tahoma;">&nbsp;0 12,20 * * *</span></span><span style="color: black;">。</span></strong></span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px;"><strong><span style="color: black;">我配置的是每晚</span><span style="color: black;"><span style="font-family: Tahoma;">8</span></span><span style="color: black;">点自动构建</span></strong></span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px;"><strong><span style="color: black;">注：</span><span style="color: black;"><span style="font-family: Tahoma;">Schedule</span></span><span style="color: black;">的配置规则是有</span><span style="color: black;"><span style="font-family: Tahoma;">5</span></span><span style="color: black;">个空格隔开的字符组成，从左到右分别代表：分</span><span style="color: black;">时</span><span style="color: black;">天</span><span style="color: black;">月</span><span style="color: black;">年。</span><span style="color: black;"><span style="font-family: Tahoma;">*</span></span><span style="color: black;">代表所有，</span><span style="color: black;"><span style="font-family: Tahoma;">0 12,20 * * *&nbsp;</span></span><span style="color: black;">表示&#8220;在任何年任何月任何天的</span><span style="color: black;"><span style="font-family: Tahoma;">12</span></span><span style="color: black;">和</span><span style="color: black;"><span style="font-family: Tahoma;">20</span></span><span style="color: black;">点</span><span style="color: black;"><span style="font-family: Tahoma;">0</span></span><span style="color: black;">分&#8221;进行构建。</span></strong></span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px;"><span style="color: black;"><span style="font-family: Tahoma;">3.3</span></span><span style="color: black;">）配置到这里，可能有人发现在</span><span style="color: black;"><span style="font-family: Tahoma;">Build</span></span><span style="color: black;">配置节点，有红色错误信息，提示</span></span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="color: black;"><span style="font-size: 16px; font-family: Tahoma;">Jenkins needs to know where your Maven2 is installed.</span></span><br /><span style="color: black;"><span style="font-size: 16px; font-family: Tahoma;">Please do so from the system configuration.</span></span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px;"><span style="color: black;">是因为</span><span style="color: black;"><span style="font-family: Tahoma;">Jenkins</span></span><span style="color: black;">找不到</span><span style="color: black;"><span style="font-family: Tahoma;">maven</span></span><span style="color: black;">的原因，点击</span><span style="color: black;"><span style="font-family: Tahoma;">"system configuration"</span></span><span style="color: black;">，是</span><span style="color: black;"><span style="font-family: Tahoma;">system configuration</span></span><span style="color: black;">的</span><span style="color: black;"><span style="font-family: Tahoma;">maven</span></span><span style="color: black;">配置中添加</span><span style="color: black;"><span style="font-family: Tahoma;">maven</span></span><span style="color: black;">目录就</span><span style="color: black;"><span style="font-family: Tahoma;">OK。</span></span></span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px;">我设置了<span style="font-family: Tahoma;">JRE 6</span>和<span style="font-family: Tahoma;">MAVEN 3</span>的安装目录。</span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px;">点击左下角的<span style="font-family: Tahoma;">SAVE</span>按钮，保存设置。</span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px;"><span style="color: black;"><span style="font-family: Tahoma;">3.4</span></span><span style="color: black;">）保存好所有配置后，我们第</span><span style="color: black;"><span style="font-family: Tahoma;">1</span></span><span style="color: black;">个</span><span style="color: black;"><span style="font-family: Tahoma;">job</span></span><span style="color: black;">就算是完成了。</span></span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px;"><span style="color: black;"><span style="font-family: Tahoma;">3.5</span></span><span style="color: black;">）创建第</span><span style="color: black;"><span style="font-family: Tahoma;">2</span></span><span style="color: black;">个</span><span style="color: black;"><span style="font-family: Tahoma;">job</span></span><span style="color: black;">，配置和上面的配置相同。只需把</span><span style="color: black;"><span style="font-family: Tahoma;">svn</span></span>地址改成：<span style="color: #003399;"><span style="font-family: Tahoma;">http://localhost/svn/Web</span></span></span></p><h3><span style="font-size: 16px;">三、自动编译</span></h3><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px;"><span style="color: black;">在经过上面的配置后，回到</span><span style="color: black;"><span style="font-family: Tahoma;">Jenkins</span></span><span style="color: black;">首页，在首页可以看到刚才添加的</span><span style="color: black;"><span style="font-family: Tahoma;">2</span></span><span style="color: black;">个</span><span style="color: black;"><span style="font-family: Tahoma;">job</span></span></span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="color: black;">点击某</span><span style="color: black;"><span style="font-family: Tahoma;">1</span></span><span style="color: black;">个</span><span style="color: black;"><span style="font-family: Tahoma;">job</span></span><span style="color: black;">后后面的</span><span style="color: black;"><span style="font-family: Tahoma;">"Schedule a build"</span></span><span style="color: black;">图片手动构建，点击完后，会在左边的</span><span style="color: black;"><span style="font-family: Tahoma;">Build Queue</span></span><span style="color: black;">或者</span><span style="color: #003399;"><span style="font-family: Tahoma;">Build Executor Status</span></span><span style="color: black;">显示正在构建的任务，在自动构建完后，刷新页面，就可以看到构建结果了，如何某个项目构建失败，点击项目后面的构建数字</span><span style="color: black;"><span style="font-family: Tahoma;">(</span></span><span style="color: black;">从</span><span style="color: black;"><span style="font-family: Tahoma;">1</span></span><span style="color: black;">开始递增</span><span style="color: black;"><span style="font-family: Tahoma;">)</span></span><span style="color: black;">进入项目的</span><span style="color: black;"><span style="font-family: Tahoma;">"</span></span><span style="color: #003399;"><span style="font-family: Tahoma;">Console Output</span></span><span style="font-size: 16px;"><span style="color: black;"><span style="font-family: Tahoma;">&nbsp;"</span></span><span style="color: black;">可以查看项目构建失败的原因。当然我们也可以配置把构建失败的结果发到邮箱。</span></span></p><p style="color: #333333; font-family: tahoma, 宋体; line-height: 22px; text-align: justify; widows: auto; background-color: #fafafc;"><span style="font-size: 16px;"><span style="color: black;">到目前为止，</span><span style="color: black;"><span style="font-family: Tahoma;">1</span></span><span style="color: black;">个简单的自动构建环境就搭建好了，很简单吧。</span></span></p><img src ="http://www.blogjava.net/jjshcc/aggbug/425643.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jjshcc/" target="_blank">Eric_jiang</a> 2015-06-12 10:49 <a href="http://www.blogjava.net/jjshcc/archive/2015/06/12/425643.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>