¸üÐÂʱ¼ä:2018Äê04ÔÂ06ÈÕ15ʱ36·Ö À´Ô´:ÀÖÓã²¥¿Í ä¯ÀÀ´ÎÊý:
³ÖÐø¼¯³É
³ÖÐø¼¯³É(Continuous integration£¬¼ò³Æ CI)£¬Ëæ×Žü¼¸ÄêµÄ·¢Õ¹£¬³ÖÐø¼¯³ÉÔÚÏîÄ¿Öеõ½Á˹㷺µÄÍÆ¹ãºÍÓ¦Óᣱ¾Õ½«´øÁì¶ÁÕßÒ»ÆðÁ˽â³ÖÐø¼¯³É¹¤¾ß Jenkins µÄ°²×°ÓëʹÓá£
1.ʲôÊdzÖÐø¼¯³É?
Èí¼þ¼¯³É¾ÍÊÇÓÃÒ»ÖֽϺõķ½Ê½£¬Ê¹¶àÖÖÈí¼þµÄ¹¦Äܼ¯³Éµ½Ò»¸öÈí¼þÀ»òÊǰÑÈí¼þµÄ¸÷²¿·Ö×éºÏÔÚÒ»Æð¡£Èç¹ûÏîÄ¿¿ª·¢µÄ¹æÄ£½ÏС£¬ÇÒ¶ÔÍⲿϵͳµÄÒÀÀµºÜС£¬ÄÇôÈí¼þ¼¯³É²»ÊÇÎÊÌ⣬ÀýÈçÒ»¸öÈ˵ÄÏîÄ¿¡£µ«ÊÇËæ×ÅÈí¼þÏîÄ¿¸´ÔӶȵÄÔö¼Ó£¬»á¶Ô¼¯³ÉºÍÈ·±£Èí¼þ×é¼þÄܹ»ÔÚÒ»Æð¹¤×÷Ìá³öÁ˸ü¶àµÄÒªÇó–>ÒªÔ缯³É¡¢³£¼¯³É¡£Ô缯³É¡¢Æµ·±µÄ¼¯³ÉÄܹ»°ïÖúÏîÄ¿¿ª·¢ÕßÔÚÔçÆÚ·¢ÏÖÏîÄ¿·çÏÕºÍÖÊÁ¿ÎÊÌ⣬Խµ½ºóÆÚ·¢ÏÖµÄÎÊÌ⣬½â¾öµÄ³É±¾Ô½¸ß£¬´Ó¶øÓпÉÄܵ¼ÖÂÏîÄ¿ÑÓÆÚ»òÕßÏîĿʧ°Ü¡£
2.¶¨Òå
´óʦ Martin Fowler ¶Ô³ÖÐø¼¯³ÉÊÇÕâÑù¶¨ÒåµÄ£º³ÖÐø¼¯³ÉÊÇÒ»ÖÖÈí¼þ¿ª·¢Êµ¼ù£¬¼´ÍŶӿª·¢³ÉÔ±¾³£¼¯³ÉËûÃǵŤ×÷£¬Í¨³£Ã¿¸ö³ÉԱÿÌìÖÁÉÙ¼¯³ÉÒ»´Î£¬Ò²¾ÍÒâζ×ÅÿÌì¿ÉÄܻᷢÉú¶à´Î¼¯³É¡£Ã¿´Î¼¯³É¶¼Í¨¹ý×Ô¶¯»¯µÄ¹¹½¨(°üÀ¨±àÒë¡¢·¢²¼¡¢×Ô¶¯»¯²âÊÔ)À´ÑéÖ¤£¬´Ó¶ø¾¡¿ìµØ·¢ÏÖ¼¯³É´íÎó¡£Ðí¶àÍŶӷ¢ÏÖÕâ¸ö¹ý³Ì¿ÉÒÔ´ó´ó¼õÉÙ¼¯³ÉµÄÎÊÌ⣬ÈÃÍŶÓÄܹ»¸ü¿ìµØ¿ª·¢ÄÚ¾ÛµÄÈí¼þ¡£
Jenkins½éÉÜ
Jenkins ¹Ù·½ÍøÕ¾£ºhttps://jenkins.io/
Ìáµ½ Jenkins ¾Í²»µÃ²»ÌáÁíÒ»¸ö³ÖÐø¼¯³É¹¤¾ß——Hudson £¬ Hudson ÓÉ Sun ¹«Ë¾¿ª·¢£¬2010 Äê Sun ¹«Ë¾±» Oracle ¹«Ë¾ÊÕ¹º£¬ oracle ¹«Ë¾Éù³Æ¶Ô hudson ÓµÓÐÉ̱êËùÓÐȨ¡£ JenkinsÊÇ´Ó Hudson ÖзÖÀë³öÀ´µÄÒ»¸ö°æ±¾£¬²¢½«¼ÌÐø×ß Open Source µÄµÀ·¡£¶þÕßÏÖÔÚÓɲ»Í¬µÄÍŶÓÔÚά»¤¡£
Jenkins Ö÷ÒªÓÃÓÚ¼àÊÓÖ´ÐÐÖØ¸´¹¤×÷£¬È罨Á¢Ò»¸öÈí¼þÏîÄ¿»ò¹¤×÷ÔËÐеļƻ®ÈÎÎñ¡£µ±Ç° Jenkins ¹Ø×¢ÒÔÏÂÁ½¸ö¹¤×÷¡£
²»¶ÏµØ½øÐÐÏîÄ¿µÄ¹¹½¨/²âÊÔÈí¼þ£º ¾ÍÏñ CruiseControl »ò DamageControl¡£¸ÅÀ¨µØËµ£¬Jenkins ÌṩÁËÒ»¸öÒ×ÓÚʹÓõÄËùνµÄ³ÖÐø¼¯³Éϵͳ£¬Ê¹¿ª·¢ÈËÔ±¸üÈÝÒ×ÐÞ¸ÄÕûºÏµ½ÏîÄ¿ÖУ¬²¢Ê¹Ëü¸üÈÝÒ×ΪÓû§»ñµÃÒ»¸öеİ汾¡£×Ô¶¯Á¬ÐøÉú³ÉÌá¸ßÁËÉú²úЧÂÊ¡£
¼à¿ØÍⲿÔËÐеÄ×÷Òµ£º Èç¼Æ»®ÈÎÎñ×÷ÒµºÍ Qrocmail µÄ¹¤×÷£¬¼´Ê¹ÊÇÄÇЩÔÚÔ¶³Ì»úÆ÷ÉÏÔËÐеļƻ®ÈÎÎñ¡£ Jenkins Éú³ÉÕâЩÈÕÖ¾²¢ÇÒºÜÈÝÒ×ÈÃÄã×¢Òâµ½´íÎóµÄ³öÏÖ¡£
Jenkins »·¾³´î½¨
1°²×°JDK¡£Jenkins ÊÇ»ùÓÚJava¿ª·¢µÄÒ»ÖÖ³ÖÐø¼¯³É¹¤¾ß£¬ËùÒÔ£¬JenkinsÐèÒªJava»·¾³¡£
2°²×°Tomcat¡£TomcatÊÇÕë¶ÔJavaµÄÒ»¸ö¿ªÔ´Öмä¼þ·þÎñÆ÷(ÈÝÆ÷)£¬»ùÓÚJava WebµÄÏîÄ¿ÐèÒª½èÖúTomcat ²ÅÄÜÔËÐÐÆðÀ´¡£
1)Tomcat¹Ù·½ÍøÕ¾£ºhttp://tomcat.apache.org/ £¬´ò¿ªºóÊ×Ò³ÈçͼËùʾ

2)µ¥»÷Ò³Ãæ×ó²àTomcat °æ±¾½øÐÐÏÂÔØ£¬¶ÔÏÂÔØµÄѹËõ°ü½øÐнâѹ£¬Ä¿Â¼½á¹¹ÈçͼËùʾ¡£

webappsĿ¼ÓÃÓÚwebÏîÄ¿ ͨ³£½«ÐèÒªÔËÐеÄÓ¦Ó÷ŵ½webapps/Ŀ¼Ï£¬½øÈëbin/Ŀ¼Ï£¬Ë«»÷startup.bat£¬Æô¶¯Tomcat·þÎñÆ÷¡£
3 °²×°Jenkins¡£Jenkins¹Ù·½ÍøÕ¾£ºhttps://jenkins.io/ £¬´ò¿ªºóÊ×Ò³ÈçͼËùʾ¡£

µã»÷“Download” Á´½Ó½øÈëÏÂÔØÒ³Ãæ£¬¸ù¾Ý×Ô¼ºµÄϵͳѡÔñ¶ÔÓ¦µÄ Jenkins °æ±¾½øÐÐÏÂÔØ¡£
ÏÂÔØÍê³É£¬Ë«»÷½øÐа²×°£¬ÈçͼËùʾ¡£

µ¥»÷“next”°´Å¥£¬ÎÒÃÇÖ±½Ó½«Æä°²×°µ½TomcatµÄ webapps Ŀ¼Ï£¬ÈçͼËùʾ¡£Ò»¶¨ÒªÑ¡ÔñTomCat µÄ webapps Ŀ¼¡£

ÅäÖÃJenkins
Jenkins °²×°Íê³É»á×Ô¶¯Æô¶¯ Tomcat , ²¢Í¨¹ýĬÈÏä¯ÀÀÆ÷´ò¿ª£ºhttp://localhost:8080/¡£
(ÄãÒ²¿ÉÒÔÊÖ¶¯½øTomcatµÄbin/Ŀ¼ÏÂÆô¶¯startup.bat £¬Í¨¹ýä¯ÀÀÆ÷·ÃÎÊ£ºhttp://localhost:8080/) ÈçͼËùʾ¡£

¸ù¾ÝÌáʾ£¬´ò¿ª£º D:\Java\apache-tomcat-9.0.0.M26\webapps\Jenkins\secrets\initialAdminPassword Îļþ²é¿´ÃÜÂë¡£½«ÃÜÂëÌîдµ½ÊäÈë¿òÖУ¬µã»÷ “Continue” °´Å¥¡£½ÓÏÂÀ´¸ù¾ÝÌáʾ½øÐа²×°¡£

ÉÏͼ£¬ÔËÐÐÐèҪһЩʱ¼ä£¬Jenkins ÕýÔÚ°ïÎÒÃǰ²×°¸÷ÖÖÖ÷Á÷²å¼þ¡£
×îºóÒ»²½ÅäÖ㬴´½¨ ¹ÜÀíÔ±Õ˺š£

Õû¸ö Jenkins °²×°ÅäÖÃÍê³É¡£²Ù×÷½çÃæÈçÏ¡£

±±¾©Ð£Çø