ǰÑÔ
ÉÏÒ»ÆªËæ±ÊMaven+Nexus+Jenkins+Svn+Tomcat+Sonar´î½¨³ÖÐø¼¯³É»·¾³£¨Ò»£©½éÉÜmavenºÍnexusµÄ»·¾³´î½¨£¬ÒÔ¼°ÈçºÎʹÓÃmavenºÍnexusͳһ¹ÜÀí¿âÎļþºÍ°æ±¾£¬ÒÔ¼°Ôõô½«×Ô¼ºµÄÄ£¿éÉÏ´«ÖÁnexus˽·þ£¬¹©ÆäËûÄ£¿éÒýÓá£ÏÂÃæ½«Ö÷Òª½éÉÜÈçºÎÀûÓÃJenkins¡¢SVN¡¢TomcatÒÔ¼°SonarÀ´Íê³ÉÏîÄ¿µÄ×Ô¶¯»¯±àÒë¡¢²âÊԺͷ¢²¼£¬ÒÔ¼°¼ì²éÏîÄ¿µÄ´úÂëÖÊÁ¿¡£
ÀûÆ÷Jenkins
JenkinsÔ´ÓÚÁíÍâÒ»¸ö³ÖÐø¼¯³É¹¤¾ßHudson£¬HudsonÔÚoracleÊÕ¹ºsun֮ǰ£¬ÊÇ¿ªÔ´ÉçÇøÔÚ¿ª·¢ºÍά»¤£¬oracleÊÕ¹ºsunÖ®ºóÉùÃ÷ÓµÓÐhudsonµÄÉ̱êʹÓÃȨ£¬ºóÀ´¿ª·¢hudsonµÄ¿ªÔ´Á¦Á¿Ö»ÄÜÖØÐÂÆð¸öÃû×Ö¡°Jenkins¡±À´¼ÌÐø¿ª·¢£¬ÔHudsonÔòÓÉoracle³ÖÐøÎ¬»¤£¬µ«¸üÐÂËٶȱȽÏÂý¡£
jenkinsµØÖ·£ºhttp://jenkins-ci.org/
hudsonµØÖ·£ºhttp://hudson-ci.org/
¿ÉÒÔ¿´µ½hudson¹ÙÍøÓÒϽÇoracleµÄ°æÈ¨logo¡£ÎÒÃÇÕâÀï¾ÍʹÓÃJenkinsÀ´´î½¨³ÖÐø¼¯³É»·¾³¡£
Ê×ÏÈ´Ó¹Ù·½ÉÏÏÂÔØjenkins£¬http://mirrors.jenkins-ci.org/war/
¿ÉÒÔÑ¡Ôñ²»Í¬µÄ°æ±¾¡£ÏÂÔØÍê³Éºó·ÅÖÃÔÚ·þÎñÆ÷ij¸öĿ¼Ï£¬cdµ½¸ÃĿ¼Ï£¬Ö´ÐУº
java -jar jenkins.war
jenkinsÄÚÖÃÒ»¸öjettyÈÝÆ÷£¬Ä¬ÈÏʹÓÃ8080¶Ë¿Ú£¬Èç¹ûÄãµÄ8080±»Õ¼ÓÃÁË£¬ÇëÖ´ÐУº
java -jar jenkins.war --httpPort=8081
µ±È»ÄãÒ²¿ÉÒÔÖ±½Ó°Ñwar°ü·Åµ½tomcatĿ¼ÏÂÆô¶¯£¬ÕâÑùjenkins¾ÍÆô¶¯ÆðÀ´ÁË¡£

À´µ½Õâ¸ö½çÃæÎÒÃÇÏÈ×öÒ»¸öÊÂÇ飺ϵͳÅäÖã¬Ö÷ÒªÊÇÅäÖÃmavenºÍ·¢²¼²å¼þ¡£
1¡¢½øÈ롰ϵͳ¹ÜÀí¡±¡ª¡ª>¡°ÏµÍ³ÉèÖá±£º
ÐÂÔömaven£¬½«linuxÉϰ²×°ºÃµÄmavenÅäÖÃÉÏÈ¥¡£

ÆäËû±£³ÖĬÈÏÅäÖ㬱£´æ£¡
2¡¢½øÈ롰ϵͳ¹ÜÀí¡±¡ª¡ª>¡°¹ÜÀí²å¼þ¡±¡ª¡ª>¡°¸ß¼¶¡±ÉÏ´«²å¼þ

ÉÏ´«Íê³ÉÖ®ºó£¬jenkins¾Í¾ß±¸ÁË·¢²¼webÓ¦Óõ½tomcat¸÷ÀàÈÝÆ÷µÄÄÜÁ¦¡£
×¢£ºdeploy.hpi²å¼þÊÇÎÒÊÂÏÈ´ÓÍøÉÏÏÂÔØºÃÁË£¬ÄãÒ²¿ÉÒÔʹÓÃjenkins×Ô´øµÄ²å¼þ°²×°¹¦ÄÜÍê³É²å¼þ°²×°£¬µ«ÄǸö±È½ÏÂý¡£
3¡¢ÅäÖÃlinux·þÎñÆ÷ÉϵÄmaven£¬¸úÉÏÆªÀàËÆÄãÒ²ÐèÒªÅäÖÃlinux·þÎñÆ÷ÉϵÄmaven£¬Ê¹Ö®Á¬½Óµ½nexus˽·þ£¬ÒÔ¼°Ö§³Ö·¢²¼Ä£¿éµ½nexusÉÏ¡£
ÔÚ<settings><servers></servers></settings>½ÚµãÖ®¼äÌí¼Ó£º
<server> 2: <id>snapshots</id> 3: <username>deployment</username> 4: <password>123456</password> 5: </server> 6: <server> 7: <id>releases</id> 8: <username>deployment</username> 9: <password>123456</password> 10: </server>
|
ÔÚ<settings></settings>½ÚµãÖ®¼äÌí¼Ó£º
<profiles> 2: <profile> 3: <id>dev</id> 4: <repositories> 5: <repository> 6: <id>local-nexus</id> 7: <url>http://192.168.0.109:8081/nexus/content/groups/public/</url> 8: <releases> 9: <enabled>true</enabled> 10: </releases> 11: <snapshots> 12: <enabled>true</enabled> 13: </snapshots> 14: </repository> 15: </repositories> 16: </profile> 17: </profiles> 18: 19: <!-- activeProfiles | List of profiles that are active for all builds. | --> 20: <activeProfiles> 21: <activeProfile>dev</activeProfile> 22: </activeProfiles>
|
Íê³ÉÕâЩÅäÖã¬ÎÒÃǾͿÉÒÔÔÚjenkinsÉÏн¨ÏîÄ¿ÁË¡£
ÎÒÃÇÊÂÏÈÔÚeclipseÖпª·¢µÄÈý¸öÏîÄ¿£ºmaven-parent£¨¸¸ÏîÄ¿£¬ÓÃÓÚͳһÀà¿â°æ±¾£©¡¢maven-support£¨ºó¶ËÄ£¿é£¬Ö§³ÅwebÏîÄ¿£©¡¢maven-sample£¨webÏîÄ¿£¬ÒÀÀµmaven-support£©£¬ÒÀ´ÎÀ´Ìí¼Ó£º

ÏÂÒ»²½½øÈëºó£¬Ö÷ÒªÅäÖÃÁ½¸öµØÖ·£¬svnºÍmavenÃüÁî¡£

¸ù¾ÝÌáʾ½øÐÐSVNÓû§Ãû¡¢ÃÜÂëÈÏÖ¤¼´¿É¡£

¶ÔÓÚmaven-parentÏîÄ¿£¬ÎÒÃÇÖ´ÐÐinstallÃüÁî¼´¿É¡£±£´æ£¡
½Ó×Å´´½¨maven-supportÏîÄ¿£¬ÓÉÓÚ¸ÃÏîÄ¿ÊǺó¶ËÄ£¿é£¬ÐèÒª·¢²¼µ½nexus·þÎñÆ÷ÉÏ£¬ËùÒÔÉÔÓв»Í¬£º

ÕâÀïÐèÒªÖ´ÐÐdeployÃüÁ½«¸ÃÏîÄ¿·¢²¼µ½nexusÉÏ¡£ÁíÍâÄã×îºÃÅäÖøÃÏîÄ¿¹¹½¨ÔÚmaven-paremtÖ´ÐÐÖ®ºó¿ªÊ¼£º

×îºÃ±£´æ£¡
×îºÃ´´½¨maven-sampleÏîÄ¿£¬ÕâÊǸöwebÏîÄ¿£¬ÅäÖÃÓÖÉÔÓв»Í¬£º

Ö´ÐÐpackageÃüÁÏîÄ¿´ò°ü³Éwar°ü¡£ÏÂÃæ×ö×îÖØÒªµÄÊÂÇ飺½«´ò°üºóµÄwar°ü×Ô¶¯·¢²¼µ½tomcatÏ£º

×¢Ò⼸µã£º
1¡¢WAR/EAR files£¬Ò»¶¨ÒªÌîдÏà¶ÔµØÖ·£»
2¡¢Manager username¡¢Manager passwordÊÇÄã°²×°µÄtomcatÓû§Ãû¡¢ÃÜÂ룬Èç¹ûûÓÐÇëͨ¹ýtomcatµÄÅäÖÃÎļþtomcat-users.xmlÉèÖá£
3¡¢tomcat urlΪÄã°²×°µÄtomcat·ÃÎʵØÖ·¡£
×îºó»¹ÊÇÉèÖÃϹ¹½¨Ë³Ðò£¬ÈÃËüÔÚmaven-supportÖ´ÐÐÍê³ÉÖ®ºó¹¹½¨£º

±£´æ£¡
jenkinsÊ×Ò³ÉϾͳöÏÖÁËÈý¸öÎÒÃÇ´´½¨ºÃµÄÏîÄ¿£¬ÎÒÃÇÖ»ÐèÒª¹¹½¨maven-parent¾Í¿ÉÒÔÁË£¬ÒòΪÎÒÃÇÉèÖÃÁ˹¹½¨Ë³Ðò£º

²é¿´¹¹½¨ÐÅÏ¢£¬¿ÉÒÔ¿´µ½¹¹½¨µÄ½ø³Ì£¬ÏîÄ¿ÏÈ´Ósvn¸üÐÂÏÂÀ´£¬È»ºó½øÐбàÒ룬ÔËÐвâÊÔÓÃÀý£¬´ò°ü£¬·¢²¼µÄ¹ý³Ì¡£Õû¸ö¹ý³Ì¶¼ÓÉjenkinsÍê³É£¬


ÖÁ´Ëjenkins¾ÍʵÏÖÁË×Ô¶¯»¯±àÒë¡¢²âÊÔ£¨×Ô¼ºÐ´²âÊÔÓÃÀý£©¡¢´ò°ü·¢²¼¡¢²¿Êð¡£

¿ÉÒÔ¿´µ½tomcatÉÏÒѾ¶àÁËmaven-sampleÓ¦Óá£

²¿ÊðSonar
´Óhttp://www.sonarqube.org/¹ÙÍøÉÏÏÂÔØsonar°²×°°ü£¬½âѹµ½ÏµÍ³Ä¿Ï£¬½øÈëµ½binĿ¼Ï£¬Ñ¡ÔñÄãµÄϵͳ°æ±¾£¬½øÈëºóÖ´ÐУº
./sonar.sh start
sonar¾ÍÆô¶¯ÆðÀ´ÁË£¬Ä¬ÈϵĶ˿ÚÊÇ9000£¬ÄãÒ²¿ÉÒÔµ½conf/sonar.propertiesÅäÖÃÎļþÖÐÐ޸ģº
sonar.web.port: 8066
ÔÚJenkins°²×°sonar²å¼þ
ºÍ°²×°deploy²å¼þ·½·¨ÀàËÆ£¬ÎÒÃÇÔÚϵͳ¹ÜÀí¡ª¡ª²å¼þ¹ÜÀíÖУ¬ÉÏ´«sonar²å¼þ¡£°²×°Íê³ÉÖ®ºó£¬ÇëÖØÆôjenkins¡£

ÅäÖÃjenkinsµÄsonar²å¼þ£º
½øÈëϵͳÅäÖÃ

¸ù¾ÝÄãµÄÇé¿öÅäÖÃsonar£¬ÎÒÕâÀï½ö½öÐ޸ĹýsonarµÄÓ¦Óö˿ڣ¬ËùÒÔÖ»ÐèÒªÅäÖÃÕâ¸ö£¬ÆäËû±£ÁôĬÈÏÖµ¡£
½øÈëÌØ¶¨ÏîÄ¿ÅäÖÃsonar£º


Ñ¡ÔñÏÂmaven°æ±¾£¬ÆäËû±£ÁôĬÈÏÖµ¡£±£´æ£¡
È»ºó¿ªÊ¼¹¹½¨ÏîÄ¿£¬¹¹½¨Íê³Éºó£¬¿ÉÒÔ¿´µ½¸ÃÏîÄ¿µÄ´úÂë¼ì²é½á¹ûÒѾ±»µ¼Èëµ½sonarƽ̨ÉÏ£¬Í¨¹ýsonarϵͳ¾Í¿ÉÒÔ·½±ã²é¿´¸ÃÏîÄ¿µÄ´úÂëÖÊÁ¿Çé¿ö£º
sonar¿ÉÒÔ¼ì²é´úÂëµÄ¸´ÔÓ¶È¡¢´úÂëÖØ¸´¡¢µ¥Ôª²âÊÔ¸²¸ÇÂÊ¡¢ÊÇ·ñÓÐ×¢ÊÍ¡¢Ç±ÔÚbugµÈ´úÂëÎÊÌ⣬¶ÔÓÚsonarµÄÏîÄ¿½éÉÜ£¬¿ÉÒÔ½øÒ»²½È¥Ñо¿ÃþË÷£¬ÔÚÕâÀï½ö½éÉÜjenkinsºÍsonarÕûºÏµÄ·½·¨£¬¿ÉÒÔÔÙʵ¼Ê¹¤×÷ʱ½øÒ»²½Ñо¿¡£


С½á
±¾ÎÄÖ÷Òª½éÉÜÈçºÎ´î½¨jenkinsÒÔ¼°ÔõôÀûÓÃmaven¡¢deploy²å¼þ´ò°ü¡¢·¢²¼ÄãµÄÏîÄ¿£¬×îºóʹÓÃjenkinsºÍsonarÅäºÏ½øÐÐÏîÄ¿µÄ´úÂëÖÊÁ¿¼ì²é¡£Íê³ÉÕû¸ö¹ý³ÌÎÒÃÇ¿ÉÒÔ·¢ÏÖ£¬ÒÔÍùµÄ²âÊÔ¡¢´ò°ü¡¢·¢²¼¡¢´úÂë¼ì²éµÄ¹¤×÷¶¼¿ÉÒÔÓÉÈ˹¤×ª»¯¹¤¾ßÀ´Íê³É£¬ÈóÌÐòÔ±µÄ±¦¹óʱ¼ä¼¯ÖÐÔÚ¿ª·¢ÉÏ¡£»Ø¹ýÍ·¿´Maven+Nexus+Jenkins+Svn+Tomcat+Sonar´î½¨³ÖÐø¼¯³É»·¾³£¨Ò»£©¿ªÍ·µÄ¹ÊÊ£¬ÎÒÃÇ¿ÉÄÜ»áÓв»Í¬µÄÏë·¨¡£
|