Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
´î½¨³ÖÐø¼¯³É»·¾³£¨¶þ£©
 
×÷ÕߣºÀîÆ½ À´Ô´£º²©¿ÍÔ° ·¢²¼ÓÚ 2015-2-5
  5275  次浏览      27
 

ǰÑÔ

ÉÏÒ»ÆªËæ±Ê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´î½¨³ÖÐø¼¯³É»·¾³£¨Ò»£©¿ªÍ·µÄ¹ÊÊ£¬ÎÒÃÇ¿ÉÄÜ»áÓв»Í¬µÄÏë·¨¡£

   
5275 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

ΪʲôҪ×ö³ÖÐø²¿Êð£¿
ÆÊÎö¡°³ÖÐø½»¸¶¡±£ºÎå¸öºËÐÄʵ¼ù
¼¯³ÉÓë¹¹½¨Ö¸ÄÏ
³ÖÐø¼¯³É¹¤¾ßµÄÑ¡Ôñ-×°ÔØ
Ïà¹ØÎĵµ

³ÖÐø¼¯³É½éÉÜ
ʹÓÃHudson³ÖÐø¼¯³É
³ÖÐø¼¯³ÉÖ®-ÒÀÀµ¹ÜÀí
IPD¼¯³É²úÆ·¿ª·¢¹ÜÀí
Ïà¹Ø¿Î³Ì

ÅäÖùÜÀí¡¢ÈÕ¹¹½¨Óë³ÖÐø¼¯³É
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù
µ¥Ôª²âÊÔ¡¢Öع¹¼°³ÖÐø¼¯³É
»ùÓÚAndroidµÄµ¥Ôª¡¢ÐÔÄܲâÊÔ
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

¼¯³ÉÓë¹¹½¨Ö¸ÄÏ
ÏîÄ¿¹ÜÀí:MavenÈÃÊÂÇé±äµÃ¼òµ¥
³ÖÐø¼¯³É¹¤¾ßhudson
³ÖÐø¼¯³É
MavenȨÍþÖ¸ÄÏ
³ÌÐò¼¯(UMLÖеİü)Ö®¼äÑ­»·


²úÆ··¢²¼¹ÜÀí
ÅäÖùÜÀí·½·¨¡¢Êµ¼ù¡¢¹¤¾ß
¶à²ã´Î¼¯³ÉÅäÖùÜÀí
ʹÓÃCCÓëCQ½øÐÐÏîĿʵ¼ù
CVSÓëÅäÖùÜÀí
Subversion¹ÜÀíÔ±


º£º½¹É·Ý ÖØ¹¹¼°³ÖÐø¼¯³É
µçÑлªÔ´ Éè¼ÆÔ­Àí¡¢½¨Ä£ÓëÖØ¹¹
Èí¼þÅäÖùÜÀíÈÕ¹¹½¨¼°³ÖÐø¼¯³É
µ¥Ôª²âÊÔ¡¢Öع¹¼°³ÖÐø¼¯³É
ÖйúÈí¼þÑз¢ÖÐÐÄ µ¥Ôª²âÊÔÓëÖØ¹¹
µ¥Ôª²âÊÔ¡¢Öع¹ºÍ³ÖÐø¼¯³Éʵ¼ù
ÂÞ¿ËΤ¶û C++µ¥Ôª²âÊÔ+ÖØ¹¹+Gtest