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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
³ÖÐø¼¯³É½ø½×ƪ
 
À´Ô´:csdn ·¢²¼ÓÚ:2017-9-28
  5187  次浏览      27
 

ÕâÆªÎÄÕÂÎÒ½«¾Í³ÖÐø¼¯³ÉµÄ»°Ìâ¼ÌÐøÉîÈëµØÌ½ÌÖÒ»·¬¡£

³ÖÐø¼¯³ÉµÄËĸö²½Öè

´úÂë¼¶±ðµÄ¼¯³É

Õâ¸ö¼¶±ðµÄ¼¯³É²»ÒÀÀµ¶ÀÁ¢µÄ³ÖÐø¼¯³É¹¤¾ßÒ²¿ÉÒÔʵÏÖ£¬Ò»°ãÓïÑÔµÄbuild¹¤¾ß»ù±¾ÄÚÖ㬱ÈÈçJavaµÄmaven£¬gradle£¬GoÄÚÖõÄbuild¹¤¾ß¡£

¼¯³É Workflow

µ¥Ò»µÄ±àÒë-¹¹½¨¹¤¾ßÖ𽥵ز»ÄÜÂú×ã²úÆ·¿ìËÙ½»¸¶µÄÐèÇó¡£

Õû¸ö¿ª·¢Á÷³ÌµÄÖØÐÄ´Ó¡º´úÂë¼¶±ðµÄ¼¯³É¡»×ªÒƵ½Á˸ü×Ô¶¯»¯µØ±àÒëºÍ¸üÍêÃÀµÄ²âÊÔÑéÖ¤£¬ÖÂÁ¦ÓÚÔÚ×î¶ÌµÄʱ¼äÄÚ·¢ÏÖÎÊÌ⣬Ëõ¶Ì¿ª·¢ÖÜÆÚ£¬Ìá¸ßÈí¼þÖÊÁ¿¡£±È½Ï³£¼ûµÄÒ»¸ö³¡¾°£¬Ä³¸öÍŶÓÏȽøÐдúÂë Build£¬´¥·¢µ¥Ôª²âÊÔ¡¢¼¯³É²âÊÔ£¬´ò°ü²âÊÔÍê±ÏºóÔÙ×Ô¶¯²¿Êðµ½²âÊÔ»·¾³£¬Ñ­»·Íù¸´£¬Ðγɡ¸±àÒë-¹¹½¨-²âÊÔ-¼¯³É-²¿Êðµ½²âÊÔ»·¾³¡¹µÄ Workflow.

³ÖÐø²¿ÊðÓë½»¸¶

ÔÚÉϸö½×¶ÎÖУ¬²úÆ·ÊÇ×Ô¶¯²¿ÊðÔÚ²âÊÔ»·¾³£¬ÊÖ¶¯²¿ÊðÔÚÉú²ú»·¾³¡£Ö®ËùÒÔÕâÑùÑ¡Ôñ£¬ÊÇÒòΪ²úÆ·ÔÚ´ÓÐèÇóµ½²¿ÊðµÄ¹ý³ÌÖУ¬»á¾­ÀúÈô¸ÉÖÖ²»Í¬µÄ»·¾³£¬ÀýÈç QA »·¾³¡¢¸÷ÖÖ×Ô¶¯»¯²âÊÔÔËÐл·¾³¡¢Éú²ú»·¾³µÈ¡£ÕâЩ»·¾³µÄ´î½¨¡¢ÅäÖᢹÜÀí£¬ÔÚ²»Í¬»·¾³ÖеľßÌ岿ÊðÊDZȽϸ´Ôӵġ£¾­³£»áÓöµ½ÕâôһÖÖ³¡¾°£ºÃ÷Ã÷ÔÚ²âÊÔ»·¾³ÒѾ­²¿Êð³É¹¦£¬µ«ÏßÉÏ»·¾³ÓÖ³öÏÖ²¿Êð¹ÊÕÏ¡£ÕâÖÖÇé¿öºÜ¿ÉÄÜÊÇÉú²ú»·¾³ºÍ²âÊÔ»·¾³µÄÒì¹¹Ôì³ÉµÄ¡£

ÕâʱºòÐèÒª¸Ä½øÄãµÄ CI ϵͳ£¬½¨Á¢±ê×¼»¯µÄ»·¾³²¿Êð˳Ðò£¬ÔÚ Workflow ÖÐÔö¼Ó²¿ÊðÔ¤Éú²ú»·¾³²¢½øÐлҶȼ¯³É²âÊÔµÄÁ÷³Ì£¬×öºÃÏßÉÏ»·¾³²¿ÊðºóµÄ»Ø¹é²âÊÔ¡£µ½ÕâÀÒѾ­ÕæÕý×öµ½Á˳ÖÐø½»¸¶¡£

³ÖÐø½»¸¶²¢²»ÊÇÖ¸Èí¼þÿһ¸ö¸Ä¶¯¶¼Òª¾¡¿ì²¿Êðµ½²úÆ·»·¾³ÖУ¬ËüÖ¸µÄÊÇÈκεĴúÂëÐ޸ͼ¿ÉÒÔÔÚÈκÎʱºòʵʩ²¿Êð¡£¶ø¡º³ÖÐø²¿Ê𡻣¬¼´×Ô¶¯²¿Êðµ½Éú²ú»·¾³ÖжøÎÞÐèÊÖ¹¤¸ÉÔ¤£ºµÃµ½Ò»¸ö°æ±¾ºó£¬×Ô¶¯²¿Êð¸Ã°æ±¾µ½Éú²ú»·¾³ÖС£Êµ¼ùÖ¤Ã÷£¬Ïà¶Ô¶ÀÁ¢¿ìËٵز¿Êðй¦ÄÜÊÇÒ»¸öºËÐľºÕùÁ¦£¬¿ÉÒÔ¼õÇá´ó¹æÄ£¹¦Äܱä¸üµÄ·çÏÕ¡£

²¢Ðжàworkflow¼¯³ÉÒÔ¼°¸öÐÔ»¯¼¯³É

Ëæ×ÅÏîÄ¿ºÍÍŶӹæÄ£Ôö³¤£¬Ä£¿éÖ®¼äÒÀÀµ¹ØÏµ±äµÃ¸´ÔÓ£¬ÈçºÎÈ·±£´úÂëÖÊÁ¿µÄͬʱ£¬±£Ö¤´úÂë¹¹½¨µÄÒ»ÖÂÐÔºÍÎȶ¨ÐÔ£¬³ÉΪһ´óÌôÕ½¡£Docker ¿ÉÒÔ·½±ãµØÒÔ¡ºÈÝÆ÷»¯¡»µÄ·½Ê½²¿Êð£¬Ëü¾ÍÏñ¼¯×°ÏäÒ»Ñù£¬´ò°üÁËËùÓÐÒÀÀµ£¬ÔÚÆäËû·þÎñÆ÷Éϲ¿ÊðºÜÈÝÒ×£¬²»ÖÁÓÚ»»·þÎñÆ÷ºó·¢ÏÖ¸÷ÖÖÅäÖÃÎļþÉ¢ÂäÒ»µØ£¬ÕâÑù¾Í½â¾öÁ˱àÒëʱÒÀÀµºÍÔËÐÐʱÒÀÀµµÄÎÊÌâ¡£

»¹ÓÐÒ»¸öÎÊÌ⣬¿ª·¢µÄ·ÖÖ§Ô½À´Ô½¶à£¬Ã¿¸ö»îÔ¾·ÖÖ§¶¼½øÐл·¾³²¿ÊðºÍ¼¯³É²âÊÔ£¬¶Ô³ÖÐø¼¯³É»·¾³µÄά»¤³É±¾Ò²¾ÍÔ½¸ß¡£dockerµÄ¿ìËÙÆô¶¯ºÍ¾µÏñ²Ö¿âÊÇÌìÉúΪ CI/CD Éè¼ÆµÄ£¬ÒÔǰÆô¶¯Ò»¸öÐéÄâ»úÐèÒª¼¸·ÖÖÓ£¬¶øÆô¶¯ Docker Ö»ÐèÒª¼¸ÃëÖÓ£¬Èò¢ÐеijÖÐø¼¯³É²ÅÄܳÉΪ¿ÉÄÜ¡£

Ŀǰ£¬±È½Ï³£¼ûµÄ»ùÓÚ Docker ½øÐгÖÐø¼¯³ÉµÄÁ÷³ÌÈçÏ£º

¿ª·¢ÕßÌá½»´úÂë

´¥·¢¾µÏñ¹¹½¨

¹¹½¨¾µÏñÉÏ´«ÖÁ˽Óвֿâ

¾µÏñÏÂÔØÖÁÖ´ÐлúÆ÷

¾µÏñÔËÐÐ

³ÖÐø¼¯³É¹¤¾ß

´«Í³µÄCI¹¤¾ß

µÚÒ»¸öÕý¹æµÄ³ÖÐø¼¯³É¹¤¾ßÊÇÓÚ2001ÄêËùÍÆ³öµÄCruiseControl£¬ÕâÊÇÒ»¸ö»ùÓÚJava¿ª·¢µÄ¿ªÔ´Èí¼þ¡£³ýÁ˳ÖÐø¹¹½¨Á÷³ÌÖ®Í⣬Ëü»¹ÌṩÁËÓʼþ֪ͨ¡¢AntÒÔ¼°¶Ô¸÷ÖÖÔ´´úÂë¿ØÖÆÏµÍ³µÄÖ§³Ö£¬²¢ÍƳöÁËÖ§³Ö.NETÓëRubyµÄÒÆÖ²°æ±¾¡£¾¡¹ÜJenkinsºóÀ´¾ÓÉÏ£¬³ÉΪµÚÒ»¸öµÃµ½¹ã·ºÓ¦ÓõÄCI¹¤¾ß£¬µ«CruiseControlÒѾ­¾ß±¸ÁËÒ»¸öCI¹¤¾ßµÄ»ù±¾¹¦ÄÜ£¬ÎªCI¹ý³ÌµÄÍÆ¹ã×ö³öÁ˺ܴóµÄ¹±Ïס£

JenkinsµÄ³öÏÖÓë·¢Õ¹ÆÄÓд«ÆæÉ«²Ê£¬ËüµÄǰÉíÊÇÓÉһλÀ´×ÔSun¹«Ë¾µÄ¿ª·¢Õß´¨¿ÚºÆ½é£¨Kohsuke Kawaguchi£©ÓÚ2004Ä꿪·¢µÄÒ»¸ö»ùÓÚJavaµÄCI¹¤¾ßHudson¡£¾­¹ýÈý/ËÄÄêµÄ·¢Õ¹ºó£¬ËüÖð½¥³¬Ô½CruiseControl³ÉΪÁË×îÁ÷ÐеÄCI¹¤¾ß¡£µ«×Ô´ÓOracleÊÕ¹ºÁËSunÖ®ºó£¬Ï£Íû½«Hudson×÷ΪÊշѵÄÉÌÒµ¹¤¾ß½øÐпª·¢¡£ÒÔ´¨¿ÚΪÊ׵Ŀª·¢ÕßÉçÇøÔò¾ö¶¨ÒÔJenkinsµÄÃûÒå¼ÌÐøÃâ·Ñ°æ±¾µÄ¿ª·¢¡£ÓÐȤµÄÊÇ£¬HudsonÓëJenkinsµÄ¿ª·¢Õ߸÷×Ô½«¶Ô·½ÊÓΪ×Ô¼ºµÄ·ÖÖ§°æ±¾£¬¶ø½«×ÔÉíÊÓΪÕýͳ¡£ÔÚ2013Äêºó£¬JenkinsµÄ·¢Õ¹ÊÆÍ·ÒÑÓг¬Ô½Ö®ÊÆ£¬ËüµÄÿÈÕÌá½»´ÎÊýÔ¶Ô¶µØ³¬Ô½ÁËHudson£¬Èç½ñÒѳÉΪÊÐÃæÉÏ×îÁ÷ÐеÄCI¹¤¾ß¡£

ÔçÆÚµÄJenkinsÓëÆäËû´«Í³CIÒ»Ñù£¬Ö»Ö§³Ö±¾µØÍйܡ£¶øÏÖÔÚÒѾ­ÓÐÒ»Ð©ÔÆ¼ÆËãÆ½Ì¨ÍÆ³öÁË»ùÓÚJenkinsµÄSaaS·½°¸¡£Õâ·½Ãæ±È½ÏÍ»³öµÄÓÐCloudBees£¬ËüËùÌṩµÄ·½°¸ÊÇÒ»ÖÖ¼¯³ÉÁËCIÓëCDµÄ»ìºÏ·½°¸£¬¿Éͨ¹ýDocker Pipeline²å¼þÌṩ¶ÔDockerÈÝÆ÷µÄÖ§³Ö¡£

³ýÁËJenkinsÖ®Í⣬ÆäËûһЩÁ÷ÐеÄCI¹¤¾ß»¹°üÀ¨ÓÉJetBrainsÍÆ³öµÄTeamCity£¬ÒÔ¼°ÓÉAtlassianÍÆ³öµÄBambooµÈµÈ¡£ÕâЩCI¹¤¾ß»ù±¾¶¼ÌṩÁËÒÔϹ¦ÄÜ£º

¶ÔÔ´´úÂë¿ØÖÆÏµÍ³µÄÖ§³Ö£¬ÀýÈçGit¡¢Subversion¡¢TFSµÈµÈ¡£¿ÉÒÔÔÚ´úÂë¿ØÖÆµÄÖ÷Ïß·¢Éú´úÂëÌύʱ×Ô¶¯´¥·¢ºóÐøµÄһϵÁв½Ö裬ÀýÈç¹¹½¨¡¢²âÊÔÓ벿ÊðµÈµÈ¡£

¶ÔÒÀÀµ¹ÜÀí¹¤¾ßµÄÖ§³Ö£¬ÈçJavaµÄMaven¡¢NodeJSµÄNPM¡¢RubyµÄGem£¬ÒÔ¼°.NETµÄNugetµÈµÈ¡£

¶Ô¸÷ÖÖÀàÐͲâÊÔµÄÖ§³Ö¡£ÔçÆÚµÄCIÖ»Ö§³Öµ¥Ôª²âÊÔ£¬¼´µ¥¸ö¶ÔÏó»ò×é¼þµÄ¹¦ÄÜÑéÖ¤¡£Ëæºó¼ÓÈëÁ˶Լ¯³É²âÊÔµÄÖ§³Ö£¬¼´¶Ô×é¼þÖ®¼äµÄͨÐÅÓë½»»¥½øÐÐÄÑ¡£¾¡¹ÜÈç´Ë£¬Õ⻹²»×ãÒÔÑé֤ϵͳȷʵ°´ÕÕÓû§ÆÚÍûµÄ·½Ê½½øÐй¤×÷¡£Òò´ËÏÖ´ú»¯µÄCI¹¤¾ß¿ªÊ¼Ö§³Ö¹¦ÄÜÐÔ²âÊÔ£¬½«Ô­ÏȵÄÊÖ¹¤²âÊÔÌæ´úΪ»ùÓÚSeleniumµÈ¹¤¾ßµÄ×Ô¶¯»¯²âÊÔ¡£

ÔÆ¼ÆËã»·¾³ÖеÄCI¹¤¾ß

ÔøÔÚ´ó¹æÄ£ÆóÒµÖг¢ÊÔ¹ýCIʵ¼ùµÄ¿ª·¢Õ߷dz£Á˽⣺´úÂëµÄ¹¹½¨Óë²âÊÔµÄÖ´ÐÐÊÇÒ»Öַdz£ÏûºÄ×ÊÔ´µÄ²Ù×÷£¬Èç¹ûÓжà¸öÍŶÓʹÓÃͬһ¸öCIƽ̨£¬ÄÇôÕâÖÖÇé¿ö½«½øÒ»²½¼Ó¾ç¡£½ü¼¸ÄêÀ´£¬Èí¼þÍŶÓÖð½¥Ñá¾ëÁ˱¾µØÍйܵÄCIϵͳ¶Ôʱ¼äÓ뾫Á¦µÄÒªÇó¡£¶ø»ùÓÚÔÆ¼ÆËãÆ½Ì¨µÄSaaS½â¾ö·½°¸µÄ³öÏÖ¿ìËÙµØÃÖ²¹ÁËÕâ·½ÃæÊг¡µÄȱʧ¡£

Travis CIÊÇÒ»¸ö»ùÓÚGitHub APIËù´òÔìµÄÍйÜCI·þÎñ£¬Ê¹ÓÃTravis CIÓÐÒ»¸öÏȾöÌõ¼þ£¬¼´Ô´´úÂëÐèÒªÔÚGitHub½øÐÐÍйܡ£Travis CIͨ¹ýwebhook¶ÔGitHub´úÂë²Ö¿âÖеĸ÷Öֱ仯½øÐÐÏìÓ¦£¬ÀýÈç´úÂëÌá½»»òpull requestµÈµÈ¡£Travis CIÒ²ÒÀÀµGitHubÌṩµÄ·þÎñ¶ÔÓû§ºÍ×éÖ¯½øÐÐÈÏÖ¤¡£

ʹÓûùÓÚÔÆ»·¾³µÄCIϵͳÈÿª·¢ÕßµÃÒÔ´Ó¶Ô±¾µØCIϵͳµÄ°²×°¡¢ÅäÖùý³ÌÖнâÍÑ£¬²»±ØÔÙ¹Ø×¢ÓÚ»ù´¡ÉèÊ©ºÍÓû§ÈÏÖ¤ÓëÊÚȨ·½ÃæµÄÎÊÌâ¡£´ËÍ⣬ÓÉÓÚ´ó¶àÊýSaaS·½°¸¶¼ÌṩÁ˶ÔÓ¦µÄAPI£¬Òò´ËÕû¸ö¹¤×÷Á÷¶¼¿ÉÒÔʵÏÖAPIÇý¶¯¡£

»ùÓÚÔÆ»·¾³µÄCIϵͳ»¹ÓÐÁíÒ»´óÓÅÊÆ£¬ËûÃÇͨ³£»áÌṩ¸ü¶àµÄ²âÊÔ¹¦ÄÜ£¬ÀýÈç¶Ô²»Í¬ä¯ÀÀÆ÷Óë²Ù×÷ϵͳ×éºÏÌõ¼þµÄ²âÊÔ¡£ÀýÈçTravis¾ÍÖ§³ÖÔÚLinux¡¢MacºÍWindowsϵͳÉϵIJâÊÔ£¬²¢Ö§³ÖPHP¡¢NodeJS¡¢goºÍCµÈ¸÷ÖÖÓïÑÔ¡£

ÓÃÓÚÒÆ¶¯Ó¦ÓõÄCI¹¤¾ß

Ëæ×ÅÖÇÄÜÊÖ»úµÄÈÕÒæÆÕ¼°£¬Òƶ¯Ó¦ÓõÄÊýÁ¿Ò²ÔÚ²»¶ÏÔö³¤¡£µ«ÓÉÓÚÒÆ¶¯Ó¦ÓÃÓëWebÓ¦ÓÃÏà±ÈÓÐÒ»Ð©ÌØ±ðÖ®´¦£¬ÀýÈçËüµÄ²âÊÔÓë·¢²¼·½Ê½£¬ÒÔ¼°ÍêÈ«²»Í¬µÄÒÀÀµ¹ÜÀí»úÖÆ£¬Òò´ËÒÆ¶¯Ó¦ÓöÔÓÚ¹¹½¨¡¢²âÊÔ¼°²¿ÊðÁ÷³ÌÌá³öÁËÍêÈ«²»Í¬µÄÒªÇó£¬ÕâÊÇ´«Í³µÄCI¹¤¾ßÁ¦Ëù²»¼°µÄ¡£ºÃÔÚÈç½ñÒѾ­Óм¸¼ÒÖ÷Á÷µÄCIÌṩÉÌʵÏÖÁËÖ§³ÖÒÆ¶¯Ó¦ÓõÄCI¹¤¾ß£¬ÀýÈçCircleCIÒѾ­ÌṩÁ˶ÔiOSÓ¦ÓõÄÖ§³Ö¡£

ÒÆ¶¯Ó¦ÓõIJâÊÔÓëWebÓ¦ÓþßÓкܴóµÄ²î±ð£¬WebÓ¦ÓõĿͻ§¶Ë¶àÊý¼¯ÖÐÔÚһЩÖ÷Á÷µÄä¯ÀÀÆ÷Óë²Ù×÷ϵͳÉÏ£¬¶øÒƶ¯Ó¦ÓõĿͻ§¶ËÍùÍùÊÇǧ²îÍò±ðµÄ£¬ÌرðÊÇÔÚAndroidƽ̨ÉÏ¡£Ä³Ð©²âÊÔ¿ò¼Ü£¬ÀýÈçEspressoÒÔ¼°AppiumÄܹ»×Ô¶¯ÌæÄã½â¾öÐí¶àÀ§ÄÑ¡£¶øÏñCrashlyticsÓëHockeyAppÕâÑùµÄ¹¤¾ß³ýÁËÄÚÖõÄCI¹¦ÄÜÖ®Í⣬»¹Äܹ»×Ô¶¯Éú³ÉÓ¦ÓñÀÀ£µÄ±¨¸æ£¬Îª¿ª·¢Õß½øÐÐÎÊÌâÕï¶ÏÌṩ³ä·ÖµÄÉÏÏÂÎÄ¡£

¶øÓÉÓÚÒÆ¶¯¿Í»§¶ËµÄ¶àÑùÐÔ£¬ÒÔ¼¯Öл¯µÄ·½Ê½½øÐÐËùÓвâÊԵķ½Ê½ÊDz»Ì«Êµ¼ÊµÄ¡£Òò´Ë£¬Òƶ¯¿ª·¢ÉçÇø¸üÍÆ³çbeta²âÊԵķ½Ê½£¬Í¨¹ýTestFairy»òTestFlightµÈ¹¤¾ß½«Ç±ÔÚµÄа汾·¢²¼¸øbeta²âÊÔÈËÔ±¡£

ÒÆ¶¯Ó¦ÓõÄÁíÒ»¸ö¶ÀÌØÖ®´¦ÔÚÓÚËüµÄ·¢²¼·½Ê½£¬Í¨³£ÐèÒª¾­¹ýÂþ³¤¶ø·±ËöµÄÉóºËÁ÷³Ì²Å¿É·¢²¼ÖÁ¶ÔÓ¦µÄÓ¦ÓÃÉ̵ꡣÕâ²»½ö½µµÍÁ˳ÖÐø½»¸¶µÄËÙ¶È£¬»¹²»µÃ²»ÔÚÁ÷³ÌÖÐÒýÈë¸÷ÖÖÈ˹¤²½Ö裬ʹȫ×Ô¶¯»¯µÄÁ÷³ÌÎÞ·¨ÊµÏÖ¡£

Ϊ´Ë£¬ÏñFastlaneÕâÑùµÄ¹¤¾ß¿ÉʵÏÖ½«Ó¦ÓÃÉóºËÁ÷³ÌÖеĴ󲿷ÖÔªËØÊµÏÖ×Ô¶¯»¯£¬ÀýÈçΪÐÂÓ¦ÓýøÐÐÆÁÄ»½ØÍ¼¼°´¦ÀíÈÏÖ¤µÈÐÅÏ¢¡£¿É½áºÏJenkinsµÈCI¹¤¾ßÒÔÍêÉÆÕû¸ö¹¤×÷Á÷¡£

CI¹¤¾ßµÄδÀ´

CIÓëCD¹ý³ÌÈç½ñÒѳÉΪÏÖ´ú»¯Ó¦Óÿª·¢ÖÐÒ»¸ö²¢²»¿ÉÉÙµÄÔªËØ£¬¾ø´ó¶àÊý¿ª·¢ÍŶÓÔÚÈí¼þÏîÄ¿Öж¼ÐèÒªÉè¼ÆÒ»¸öÍêÉÆµÄCIÓëCD¹¤×÷Á÷¡£

¶øCIµÄ·¢Õ¹²¢²»»áÍ£Ï½Ų½£¬ËüÈÔ´¦ÓÚ¸ßËٵķ¢Õ¹ÖС£ÔÚ¶ÔWeb¼°Òƶ¯ÏîĿ֧³ÖµÄ»ù´¡ÉÏ£¬Î´À´¼¸ÄêÖ®ÄÚ£¬ÎÒÃǽ«¿´µ½CIÔÚÆäËûÀàÐ͵Ŀª·¢ÖеÄÓ¦Óã¬ÀýÈçÖÇÄÜÊÖ±í¡¢ÖÇÄÜÆû³µÒÔ¼°ÎïÁªÍøÖУ¬ÉõÖÁÊÇÔÚÐéÄâÏÖʵÓëÉúÎï¿Æ¼¼ÏîÄ¿ÖеÄÓ¦Óá£

CI¹ý³ÌĿǰËùÃæÁÙµÄÒ»¸öÌôÕ½ÔÚÓÚÔÚ¿ª·¢»·¾³ÖÐÖ´ÐеÄ×Ô¶¯»¯²âÊÔÓëÉú²ú»·¾³Ö®¼ä×ÜÊÇ´æÔÚ×Å»ò¶à»òÉٵIJî±ð¡£Ëæ×ŽüÀ´ÄêÒÔDockerΪ´ú±íµÄÈÝÆ÷»¯¼¼ÊõÔÚ£¨Î¢£©·þÎñϵͳÖеĹ㷺ӦÓã¬CI¹ý³ÌÒ²´ÓÈÝÆ÷µÄʹÓÃÖÐÊÜÒæ·Ëdz¡£DockerµÄ¸ß¿ÉÒÆÖ²ÐÔʹ¶à¸öCIÌṩÉÌ¿ªÊ¼Óµ±§Docker¡£¾ÙÀýÀ´Ëµ£¬CircleCI¾ÍÖ§³Ö»ùÓÚÈÝÆ÷µÄÓ¦Ó㬶øCodeShip½üÆÚÒ²ÍÆ³öÁËJet£¬ÕâÊÇÒ»¸ö¶ÔDockerÓ¦ÓýøÐвâÊÔÓ벿ÊðµÄ½â¾ö·½°¸¡£

³ÖÐø¼¯³É×î¼Ñʵ¼ùÒªµã

³ÖÐø¼¯³ÉÎÞÂÛÊǹ¤¾ßʹÓû¹ÊÇÁ÷³Ì¶¨Ò壬Æäʵ¶¼²»ÄÑ£¬ÄѵÄÊÇÈçºÎÐγÉÕâÑùµÄϰ¹ßÓëÎÄ»¯¡£±ÊÕßͨ¹ý×Ô¼ºµÄʵ¼ù¾­Ñé×ܽáÁËÒÔϳÖÐø¼¯³ÉµÄ×î¼Ñʵ¼ùÒªµã£¬¿ÉÒÔ°ïÖúÈÃÕâ¸ö¸Ä½ø¸üÈÝÒ×Щ£º

Ê×ÏÈҪѡÔñÒ»¸ö¿ÉÒÔÍÑÀëIDE½øÐÐbuildµÄÓïÑÔÒÔ¼°ÏîÄ¿¶¨Ò幤¾ß¡£Õâ¸öºÜÃ÷ÏÔ£¬CIÊÇÒªÔÚ·þÎñÆ÷ÉÏÅܵġ£Èç¹ûÄãµÄÍŶӽøÐÐbuild»¹ÍêÈ«ÒÀÀµIDE£¬ÕâÊÂÇé¾Íû·¨¸ã¡£

CI¹¤¾ßÔ½ÔçÒýÈëÔ½ºÃ£¬×îºÃÊÇдµÚÒ»ÐдúÂëµÄʱºò¾ÍÏÈŪ¸öCI£¬µ«ÅäÖò»ÓÃÒ»²½µ½Î»£¬¿ÉÒÔ°´ÕÕÉÏÃæµÄ½ø½×Ò»²½²½ÍêÉÆ¡£ÕâÑù²ÅÈÝÒ×ÐγÉÎ§ÈÆCI½øÐпª·¢µÄϰ¹ß¡£

¼¯³É²âÊÔÓÃÀý×îºÃʹÓÃÏîÄ¿±¾Éí¿ª·¢ÓïÑÔ±àдºÍµ¥Ôª²âÊÔÀàËÆ£¬ÖÁÉÙÊÇÍŶӿª·¢ÈËÔ±¶¼ÊìϤµÄÓïÑÔ¡£²¢ÇÒÏîÄ¿´úÂëÒªºÍ¼¯³É²âÊÔÓÃÀýÔÚͬһ¸öÔ´Âë²Ö¿âÀï¡£Èç¹ûÄãµÄÍŶÓÓÐרÃŵÄQAÈËԱд²âÊÔÓÃÀý£¬ÄÇ×îºÃÈÃQAºÍ¿ª·¢ÈËÔ±¹²Ïíͬһ¸ö´úÂë²Ö¿â¡£Èç¹ûÄãµÄ¼¯³É²âÊÔϵͳÊÇͨ¹ýÅäÖÃʵÏֵģ¬ÄÇÒ²Ç뽫²âÊÔÓÃÀý×÷ΪÅäÖÃÎļþ·Åµ½´úÂë²Ö¿âÖУ¬¶ø²»ÊÇͨ¹ýweb±à¼­Æ÷·Åµ½Êý¾Ý¿âÖС£ÕâÑù×öµÄ×î´óºÃ´¦ÊÇÏîÄ¿´úÂëºÍ¼¯³É²âÊÔ´úÂë¹²Ïíͬһ¸ö·ÖÖ§£¬Í¬Ò»¸öbuild number£¬Ö»ÓÐÕâÑù²ÅÄÜ×ö¶à·ÖÖ§µÄ²¢ÐвâÊÔ¡£·ñÔòÈç¹û²âÊÔÓÃÀýµ¥¶Àά»¤£¬´úÂëµÄ·ÖÖ§ÈçºÎºÍ²âÊÔÓÃÀý¶ÔÓ¦ÆðÀ´£¿×îºóµÄ½á¹û¾ÍÊÇ£¬×Ô¶¯»¯²âÊÔÓÃÀý¶¼ÊÇÉÏÏߺ󲹳äµÄ£¬ÉÏÏßǰ»¹ÊÇÒÀÀµÈËÈâ²âÊÔ¡£

±àд²âÊÔÓÃÀýºÍ¹¦ÄÜ¿ª·¢×îºÃÊÇͬһ¸öÈË£¬Èç¹û×ö²»µ½£¬±àд²âÊÔÓÃÀýµÄ¿ª·¢Ò²ÒªÓÐȨÏÞÐÞ¸ÄÒµÎñ´úÂë¡£ÒòΪҪ×ö×Ô¶¯»¯²âÊÔ±ØÐëÔÚϵͳÖÐÁôһЩºóÃÅÀ´¸ø×Ô¶¯»¯²âÊÔÌṩ±ãÀû¡£±ÈÈçÌṩÓû§µÄÅúÁ¿Éú³ÉºÍÏú»Ù£¬±ÈÈç¶Ô²âÊÔµÄÇëÇ󲻼Ǽµ½Í³¼ÆÈÕÖ¾Öеȵȡ£

²¿ÊðµÄ½Å±¾»òÕßÅäÖÃ×îºÃºÍÏîÄ¿ÔÚͬһ¸öÔ´Âë²Ö¿â¡£Ö»ÓÐÕâÑù£¬×Ô¶¯»¯²¿Êð²Å·½±ãʵʩ¡£ÒòΪÏîÄ¿µÄ¸Ä½øÒÔ¼°Öع¹£¬ÍùÍù°éËæ×ÅÒÀÀµ×ÊÔ´ÒÔ¼°²¿Êð»úÖÆÉϵĸÄÔì¡£

·þÎñ×îºÃ²»ÒÀÀµÍⲿÈÝÆ÷£¬¿ÉÒÔ¶ÀÁ¢ÔËÐС£Õâ¸öרָjavaµÄÈÝÆ÷£¬ÆäËûµÄÈçgo,nodejs¶¼Ã»ÓÐÕâ¸öÎÊÌâ¡£javaµÄÈÝÆ÷ÊÇÆóÒµÓ¦ÓÃΪÁ˽µµÍ²¿Êð³É±¾´øÀ´µÄϰ¹ß£¬µ«µ±Ç°ÐéÄ⻯£¬dockerµÈ¼¼ÊõÕâÑù³ÉÊìµÄÇé¿öÏ£¬Ó¦ÓÃÈÝÆ÷ÒѾ­Íêȫû±ØÒªÁË¡£Èç¹û·ÇÒªÓã¬Ò²×îºÃÖ±½ÓºÍÓ¦Óôò°üÔÚÒ»Æð£¬ÈÃÓ¦ÓÿÉÒÔÖ±½ÓÔËÐУ¬Õâ¶Ô¿ª·¢Ð§ÂÊÒÔ¼°¼¯³É²âÊÔ£¬¶¼·Ç³£ÓаïÖú¡£

×îºÃÌṩһÖÖÖ±½Ó¿ÉÒÔµ¥½ø³ÌÔËÐÐÕû¸öϵͳ¶ø²»ÒÀÀµÍⲿ×ÊÔ´µÄÅäÖã¬Íⲿ×ÊÔ´¶¼ÓÃÄÚ´æ°æµÄ¿â½øÐÐmock¡£ÕâÑù×öµÄºÃ´¦ÊÇ¿ÉÒԷdz£¿ìËٵĽøÐгõ²½µÄ¼¯³É²âÊÔÑéÖ¤£¬Í¬Ê±Ò²·Ç³£·½±ãͳ¼Æ¼¯³É²âÊÔ¸²¸ÇÂÊ£¨Í¨¹ýµ¥Ôª²âÊÔ¸²¸ÇÂʹ¤¾ß¼´¿ÉʵÏÖ£©¡£

Èç¹û¹«Ë¾Óжà¸öÑз¢ÍŶӣ¬×îºÃ¹²ÏíCI³Ø£¬ÕâÑù³É±¾×îС¡£ÓеĹ«Ë¾ÎªÁËʡǮ£¬±ÜÃⳬ¹ýÃâ·ÑÏÞÖÆ£¬²¿Êð¶àÌ×CI¡£ÆäʵËãÏÂÀ´ÕâÑù³É±¾±È¹ºÂòÉÌÒµ°æ¸ü¸ß¡£

×ܽá

³ÖÐø¼¯³ÉÊÇ×îÄÜÌåÏÖÒ»¸öÍŶӵÄDevOps£¨¹ØÓÚDevOps½«ÔÚ½ÓÏÂÀ´µÄÎÄÕÂÖнøÐн²½â£©·ÕΧÒÔ¼°Ë®Æ½µÄÒ»¸ö³¡¾°£¬ÒòΪÕû¸öÁ÷³ÌÐèÒª¿ª·¢£¬²âÊÔ£¬ÔËάµÄ½ôÃÜЭ×÷£¬È±Ò»²»¿É¡£

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

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

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

ÅäÖùÜÀí¡¢ÈÕ¹¹½¨Óë³ÖÐø¼¯³É
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù
µ¥Ôª²âÊÔ¡¢Öع¹¼°³ÖÐø¼¯³É
»ùÓÚAndroidµÄµ¥Ôª¡¢ÐÔÄܲâÊÔ