﻿<?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-光子CI之旅-随笔分类-CI/Jenkins</title><link>http://www.blogjava.net/kuuyee/category/47971.html</link><description>while (产品+需求+设计+开发+测试+部署+发布 == doing) 
{ 
  CI 
}</description><language>zh-cn</language><lastBuildDate>Wed, 22 May 2013 14:27:12 GMT</lastBuildDate><pubDate>Wed, 22 May 2013 14:27:12 GMT</pubDate><ttl>60</ttl><item><title>Jenkins文档翻译(2)-构建一个Maven2项目</title><link>http://www.blogjava.net/kuuyee/archive/2013/05/06/398854.html</link><dc:creator>kuuyee</dc:creator><author>kuuyee</author><pubDate>Mon, 06 May 2013 05:15:00 GMT</pubDate><guid>http://www.blogjava.net/kuuyee/archive/2013/05/06/398854.html</guid><wfw:comment>http://www.blogjava.net/kuuyee/comments/398854.html</wfw:comment><comments>http://www.blogjava.net/kuuyee/archive/2013/05/06/398854.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/kuuyee/comments/commentRss/398854.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kuuyee/services/trackbacks/398854.html</trackback:ping><description><![CDATA[<div style="width: 1170px; margin-right: auto; margin-left: auto; color: #4e443c; font-family: adelle, Georgia, 'Times New Roman', serif; line-height: 20px;"><div style="margin-left: -30px;"><div style="float: left; min-height: 1px; margin-left: 30px; width: 870px;"><div style="background-color: #fcfcfa; border: 1px solid #e2e0d8; border-top-left-radius: 5px; border-top-right-radius: 5px; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; padding: 22px; margin-bottom: 35px;"><h2><span style="font-size: 14px;">原文链接:&nbsp;</span><a href="https://wiki.jenkins-ci.org/display/JENKINS/Building+a+maven2+project" style="font-size: 14px; color: #0088cc; text-decoration: none;">https://wiki.jenkins-ci.org/display/JENKINS/Building+a+maven2+project</a></h2><div><p style="margin: 0px 0px 10px;">Jenkins提供一个专注于Maven2项目的Job类型。这种Job类型深度集成Maven2并提供如下优于free-style software project Job类型的特性：</p></div><div><ul style="padding: 0px; margin: 0px 0px 10px 25px;"><li><p style="margin: 0px 0px 10px;">Jenkins从Maven POM中获取更多信息来辅助构建工作，这样就大大减少了Job的配置工作。</p></li><li><p style="margin: 0px 0px 10px;">Jenkins监听Maven执行过程来决定如何处理Job。例如，Jenkins会在Maven测试阶段自动记录JUnit报告。如果你正在运行javadoc目标，Jenkins会自动记录javadoc。</p></li></ul></div><div><p style="margin: 0px 0px 10px;">因此你只需要为Job配置SCM信息和指定运行Maven项目的哪个目标就可以了，其它的Jenkins会帮你决定如何去做。</p></div><div><div></div></div><div><blockquote style="padding: 0px 0px 0px 15px; margin: 0px 0px 20px; border-left-width: 5px; border-left-color: #eeeeee;">&nbsp;<strong>TODO</strong>&nbsp;谈论Maven modules在子项目中的表现，还有构建编号在子项目中是如何控制的。带有截屏。</blockquote><div></div></div><div><h4>用模块依赖链接自动构建</h4><div><p style="margin: 0px 0px 10px;">Jenkins从你的POM模型中读取项目依赖，如果这个依赖已经是Jenkins内的一个构建，那么Jenkins会自动的触发这个构建。Jenkins能够识别POM内所用类型的依赖：</p></div><div><ul style="padding: 0px; margin: 0px 0px 10px 25px;"><li><p style="margin: 0px 0px 10px;">父级POM</p></li><li><p style="margin: 0px 0px 10px;">&lt;dependencies&gt;部分</p></li><li><p style="margin: 0px 0px 10px;">&lt;extensions&gt;部分</p></li><li><p style="margin: 0px 0px 10px;">&lt;reporting&gt;部分</p></li></ul></div><div><p style="margin: 0px 0px 10px;">这个处理过程取决于版本和账户，因为在你的项目中有很多版本/分支，Jenkins要正确的决定如何处理依赖。</p></div></div><div><h4>Maven集成插件</h4><div><p style="margin: 0px 0px 10px;">Jenkins的Maevn2项目类型包含一个Maven集成插件，它已经绑定在Jenkins发行版本中。它会列在可用插件列表中，当插件版本低于Jenkins当前版本时，推荐你升级Maven集成插件。虽然它是一个插件，但是它会作为Jenkins核心的一部分进行开发、测试和发布。</p></div></div><p style="margin: 0px 0px 10px;"></p><div>2013-05-06</div></div></div></div></div><img src ="http://www.blogjava.net/kuuyee/aggbug/398854.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kuuyee/" target="_blank">kuuyee</a> 2013-05-06 13:15 <a href="http://www.blogjava.net/kuuyee/archive/2013/05/06/398854.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Jenkins文档翻译(1)-管理</title><link>http://www.blogjava.net/kuuyee/archive/2011/03/07/345864.html</link><dc:creator>kuuyee</dc:creator><author>kuuyee</author><pubDate>Mon, 07 Mar 2011 02:54:00 GMT</pubDate><guid>http://www.blogjava.net/kuuyee/archive/2011/03/07/345864.html</guid><wfw:comment>http://www.blogjava.net/kuuyee/comments/345864.html</wfw:comment><comments>http://www.blogjava.net/kuuyee/archive/2011/03/07/345864.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kuuyee/comments/commentRss/345864.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kuuyee/services/trackbacks/345864.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Jenkins官方文档翻译之Jenkins管理.<br>Jenkins需​要​一​些​磁​盘​空​间​来​执​行​构​建​和​归​档​。​你​可​以​在​Jenkins的​配​置​页​面​查​看​磁​盘​所​在​的​路​径​。​默​认​情​况​下​是​~/.jenkins，你​可​以​通​过​如​下​的​方​法​来​改​变​设​置​： &nbsp;&nbsp;<a href='http://www.blogjava.net/kuuyee/archive/2011/03/07/345864.html'>阅读全文</a><img src ="http://www.blogjava.net/kuuyee/aggbug/345864.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kuuyee/" target="_blank">kuuyee</a> 2011-03-07 10:54 <a href="http://www.blogjava.net/kuuyee/archive/2011/03/07/345864.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CentOS下KVM试用</title><link>http://www.blogjava.net/kuuyee/archive/2010/12/07/339987.html</link><dc:creator>kuuyee</dc:creator><author>kuuyee</author><pubDate>Tue, 07 Dec 2010 07:32:00 GMT</pubDate><guid>http://www.blogjava.net/kuuyee/archive/2010/12/07/339987.html</guid><wfw:comment>http://www.blogjava.net/kuuyee/comments/339987.html</wfw:comment><comments>http://www.blogjava.net/kuuyee/archive/2010/12/07/339987.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kuuyee/comments/commentRss/339987.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kuuyee/services/trackbacks/339987.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 最​近​整​理​公​司​的​几​台​服​务​器​，由​于​机​器​少​应​用​多​，就​总​是​觉​得​服​务​器​资​源​紧​张​，所​以​痛 ​下​决​心​使​用​虚​拟​机​。​考​察​了​一​番​决​定​使​用​KVM，因​为​机​器​配​置​不​是​很​高​，使​用​KVM性​能 ​会​比​较​好​。​<br>基​础​系​统​选​用​CentOS5.4，下​面​列​出​具​体​的​安​装​配​置​过​程​ &nbsp;&nbsp;<a href='http://www.blogjava.net/kuuyee/archive/2010/12/07/339987.html'>阅读全文</a><img src ="http://www.blogjava.net/kuuyee/aggbug/339987.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kuuyee/" target="_blank">kuuyee</a> 2010-12-07 15:32 <a href="http://www.blogjava.net/kuuyee/archive/2010/12/07/339987.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sonar安装笔记</title><link>http://www.blogjava.net/kuuyee/archive/2009/07/23/288062.html</link><dc:creator>kuuyee</dc:creator><author>kuuyee</author><pubDate>Thu, 23 Jul 2009 09:21:00 GMT</pubDate><guid>http://www.blogjava.net/kuuyee/archive/2009/07/23/288062.html</guid><wfw:comment>http://www.blogjava.net/kuuyee/comments/288062.html</wfw:comment><comments>http://www.blogjava.net/kuuyee/archive/2009/07/23/288062.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/kuuyee/comments/commentRss/288062.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kuuyee/services/trackbacks/288062.html</trackback:ping><description><![CDATA[Sonar是开源的代码质量管理平台,它把代码质量相关软件集成到一起统一管理,集成的软件如下:<br />
<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">CPD<br />
Checkstyle<br />
Clover<br />
Cobertura<br />
Findbugs<br />
General<br />
Google&nbsp;analytics<br />
PMD<br />
Squid<br />
Surefire</span></div>
<br />
我把安装过程记录下来.<br />
1.环境准备如下<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">ubuntu8</span><span style="color: #000000;">.04</span><span style="color: #000000;"><br />
jdk1</span><span style="color: #000000;">.5</span><span style="color: #000000;"><br />
maven2</span><span style="color: #000000;">.2</span><span style="color: #000000;">(官方要求2</span><span style="color: #000000;">.0</span><span style="color: #000000;">.7以上)<br />
mysql5</span><span style="color: #000000;">.0</span></div>
<br />
2.下载Sonar,到http://sonar.codehaus.org/下载最新版本,目前是1.9.2,下载后解压即可<br />
<br />
3.数据库配置<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">CREATE</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">DATABASE</span><span style="color: #000000;">&nbsp;sonar&nbsp;</span><span style="color: #000000; font-weight: bold;">CHARACTER</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">SET</span><span style="color: #000000;">&nbsp;utf8&nbsp;COLLATE&nbsp;utf8_general_ci;<br />
</span><span style="color: #0000ff;">grant</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">all</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">on</span><span style="color: #000000;">&nbsp;sonar.</span><span style="color: #808080;">*</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">to</span><span style="color: #000000;">&nbsp;sonar@</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">%</span><span style="color: #ff0000;">'</span><span style="color: #000000;">&nbsp;identified&nbsp;</span><span style="color: #0000ff;">by</span><span style="color: #000000;">&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">sonar</span><span style="color: #ff0000;">'</span><span style="color: #000000;">;<br />
</span><span style="color: #0000ff;">grant</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">all</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">on</span><span style="color: #000000;">&nbsp;sonar.</span><span style="color: #808080;">*</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">to</span><span style="color: #000000;">&nbsp;sonar</span><span style="color: #008000;">@localhost</span><span style="color: #000000;">&nbsp;identified&nbsp;</span><span style="color: #0000ff;">by</span><span style="color: #000000;">&nbsp;</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">sonar</span><span style="color: #ff0000;">'</span><span style="color: #000000;">;<br />
flush&nbsp;</span><span style="color: #0000ff;">privileges</span><span style="color: #000000;">;</span></div>
官方没有<span style="color: #0000ff;">grant</span>&nbsp;<span style="color: #808080;">all</span>&nbsp;<span style="color: #0000ff;">on</span><span style="color: #000000;">&nbsp;sonar.</span><span style="color: #808080;">*</span>&nbsp;<span style="color: #0000ff;">to</span><span style="color: #000000;">&nbsp;sonar@</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">%</span><span style="color: #ff0000;">'</span><span style="color: #000000;">&nbsp;identified&nbsp;</span><span style="color: #0000ff;">by</span>&nbsp;<span style="color: #ff0000;">'</span><span style="color: #ff0000;">sonar</span><span style="color: #ff0000;">'</span><span style="color: #000000;">; 如果你想远程发布项目到sonar,那就需要加上这条</span><br />
然后还要更改sonar的配置,在sonar的解压目录下打开conf/sonar.properties,注掉如下内容(如果你没有mysql就可以不改动这个文件,sonar默认使用内嵌数据库derby)<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">#sonar.jdbc.url:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jdbc:derby://localhost:</span><span style="color: #000000;">1527</span><span style="color: #000000;">/sonar</span><span style="color: #008000;">;</span><span style="color: #008000;">create=true</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">#sonar.jdbc.driverClassName:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.apache.derby.jdbc.ClientDriver<br />
#sonar.jdbc.validationQuery:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;values(</span><span style="color: #000000;">1</span><span style="color: #000000;">)</span></div>
去掉下面的注释<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">sonar.jdbc.url:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jdbc:mysql://</span><span style="color: #000000;">192.168.1.151</span><span style="color: #000000;">:</span><span style="color: #000000;">3306</span><span style="color: #000000;">/sonar?useUnicode</span><span style="color: #000000;">=</span><span style="color: #000000;">true&amp;characterEncoding</span><span style="color: #000000;">=</span><span style="color: #000000;">utf8<br />
sonar.jdbc.driverClassName:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;com.mysql.jdbc.Driver<br />
sonar.jdbc.validationQuery:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select&nbsp;</span><span style="color: #000000;">1</span></div>
<br />
Ok,配置已经完成你可以在bin目录项下进入相应平台的子目录,比如我的就是${sonar_home}bin/linux-x86-32,sonar是多平台的,你可以在bin目录下查找你对应的平台,然后执行<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">${sonar_home}bin</span><span style="color: #000000;">/</span><span style="color: #000000;">linux</span><span style="color: #000000;">-</span><span style="color: #000000;">x86</span><span style="color: #000000;">-</span><span style="color: #800000;">32</span><span style="color: #000000;">/</span><span style="color: #000000;">sonar</span><span style="color: #000000;">.</span><span style="color: #000000;">sh&nbsp;start <br />
</span></div>
<br />
启动后访问<a href="http://localhost:9000/" rel="nofollow">http://localhost:9000</a>就可以进入sonar了, 默认管理员用户和密码是admin/admin<br />
<br />
大功告成!<br />
<br />
今天先写到这,后面我会加上如何用maven发布一个项目到sonar上!<br />
<br />
秀几张图来看看<br />
<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/kuuyee/sonar01.GIF" height="675" width="971" /><br />
<br />
<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/kuuyee/sonar02.GIF" height="209" width="569" /><br />
<br /><img src ="http://www.blogjava.net/kuuyee/aggbug/288062.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kuuyee/" target="_blank">kuuyee</a> 2009-07-23 17:21 <a href="http://www.blogjava.net/kuuyee/archive/2009/07/23/288062.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>