±à¼ÍƼö: |
±¾ÎĽéÉܳÖÐø²¿Ê𣬳ÖÐøÑ§Ï°£¬³ÖÐø½»¸¶£¬³ÖÐø¼¯³É£¬DevOps¿ª·¢ºÍÔËά£¬Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚºìºÚÁªÃË£¬ÓÉ»ðÁú¹ûÈí¼þDelores±à¼ÍƼö¡£ |
|
³ÖÐø¼¯³É£¨CI ¨C Continuous Integration£©
ÔÚ´«Í³µÄÈí¼þ¿ª·¢ÖУ¬ÕûºÏ¹ý³Ìͨ³£ÔÚÿ¸öÈËÍê³É¹¤×÷Ö®ºó¡¢ÔÚÏîÄ¿½áÊø½×¶Î½øÐС£ÕûºÏ¹ý³Ìͨ³£ÐèÒªÊýÖÜÄËÖÁÊýÔµÄʱ¼ä£¬¿ÉÄÜ»á·Ç³£Í´¿à¡£³ÖÐø¼¯³ÉÊÇÒ»ÖÖÔÚ¿ª·¢ÖÜÆÚµÄÔçÆÚ½×¶Î½øÐм¯³ÉµÄʵ¼ù£¬ÒԱ㹹½¨¡¢²âÊÔ¡¢ÕûºÏ´úÂë¿ÉÒÔ¸ü¾³£µÄ½øÐС£
CIÒâζ×ÅÒ»¸öÔÚ¼ÒÀïµÄ±Ê¼Ç±¾ÉÏд´úÂëµÄ¿ª·¢Õߣ¨±ÈÈçSteve£©ºÍÁíÍâһλÔڰ칫ÊÒ×ÀÉÏд´úÂëµÄ¿ª·¢ÈËÔ±£¨±ÈÈçAnnie£©¿ÉÒÔ·Ö±ðΪͬһ¿î²úÆ·±àдÈí¼þ£¬½«ËûÃǵÄÐ޸ĺϲ¢ÔÚÒ»¸ö³ÆÎªÔ´´úÂë¿âµÄµØ·½¡£È»ºóËûÃÇ¿ÉÒÔ´Ó¸÷×Ô±àд²¢ºÏ²¢ÔÚÒ»ÆðµÄ´úÂëÖй¹½¨Èí¼þ£¬²¢²âÊÔËüÊÇ·ñ°´ÕÕËûÃÇÆÚÍûµÄ·½Ê½¹¤×÷¡£
¿ª·¢ÈËԱͨ³£Ê¹ÓóÆÎªCI·þÎñÆ÷µÄ¹¤¾ßÀ´ÎªÆä¹¹½¨ºÍ¼¯³É¡£CIÒªÇóSteveºÍAnnieÓÐÄÜ×ÔÎÒ²âÊԵĴúÂë¡£ÕâЩ´úÂë²âÊÔ×ÔÉíÈ·±£ËüÃÇÄܰ´Ô¤ÆÚÔËÐС£Í¨³£ÕâЩ²âÊÔ±»³ÆÎªµ¥Ôª²âÊÔ¡£ÔÚÕûºÏ´úÂëºó£¬µ±ËùÓеĵ¥Ôª²âÊÔͨ¹ý£¬SteveºÍAnnie»á»ñµÃÂÌÉ«¹¹½¨°æ±¾¡£Õâ±íÃ÷ËûÃÇÒѾÑéÖ¤ËûÃǵĸü¸Ä³É¹¦µÄÕûºÏÔÚÁËÒ»Æð£¬²¢ÇÒ´úÂëÕýÈç²âÊÔËùÔ¤ÆÚµÄÄÇÑù¹¤×÷¡£
²»¹ý£¬¾¡¹Ü¼¯³ÉµÄ´úÂëÄܳɹ¦µÄ¹¤×÷£¬µ«ÈÔÈ»²»ÄÜͶ²ú£¬ÒòΪËü»¹Ã»ÓÐÔÚÀàËÆÉú²ú»·¾³ÖвâÊÔºÍÑéÖ¤ÒÔ±íÃ÷Äܹ»¹¤×÷¡£
Äã¿ÉÒÔÔÚÏÂÃæ¡°³ÖÐø½»¸¶¡±Ò»½ÚÖУ¬ÔĶÁÔÚÍê³ÉCIÖ®ºóµÄ¸ü¶àÐÅÏ¢¡£

ΪÁËʵ¼ùCI£¬SteveºÍAnnie±ØÐëÌá½»´úÂëµ½Ö÷ÒªµÄÔ´´úÂë²Ö¿â£¬Ãܼ¯¡¢¾³£µÄ¼¯³ÉºÍ²âÊÔËûÃǵĴúÂ롣ͨ³£Ã¿Ð¡Ê±¶à´Î£¬µ«ÊÇÿÌìÖÁÉÙÒ»´Î¡£
CIµÄÓŵãÔÚÓÚ£¬ÕûºÏ´úÂë±ä³ÉÁË¡°·Çʼþ¡±£¨Òë×¢£ºÒâ˼ÊÇËü×ÜÔÚ·¢Éú£¬³ö´íÒ²²»Ææ¹Ö£©¡£Èí¼þÒ»Ö±ÔÚ±àдºÍ¼¯³É¡£ÔÚ¸ãCIÒÔǰ£¬´úÂ뼯³É·¢ÉúÔÚ´´½¨¹ý³Ì½áÊøÖ®ºó£¬ËùÓÐÕûºÏÒ»´ÎÐÔÍê³É£¬È»ºó»¨·ÑµÄʱ¼äδ֪¡£ÏÖÔÚÓÐÁËCI£¬´úÂ뼯³ÉÿÌì¶¼ÔÚ·¢Éú£¬Ö»ÐèÒª»¨·Ñ¼¸·ÖÖÓµÄʱ¼ä¡£Ëü½öÊÇÎÒÃǵŤ×÷·½Ê½¡£
ÄãµÄÍŶӺÜÓпÉÄÜÕýÔÚ¸ãCI£¨»òÕßÖÁÉÙËûÃÇÏàÐÅ×Ô¼ºÕýÔÚµ·¹Ä£©¡£Äã¿ÉÒÔͨ¹ýѯÎÊËûÃÇÊÇ·ñÿÌì¶¼ÕûºÏ´úÂëÀ´½øÐÐÈ·ÈÏ¡£CIÊǽøÐгÖÐø½»¸¶ËùÐèµÄµÚÒ»ÖÖʵ¼ù¡£ÊÂʵÉÏ£¬Èç¹ûÄãÔø¾Ç©Èë¹ý°ïÖúÎı¾¡¢Îĵµ»òͼƬ£¬ÄÇôÄã¿ÉÄÜÒѾÔÚÒ»Ö±ÔÚ²»¶ÏµÄ¼¯³É¡£
³ÖÐø½»¸¶£¨Continuous Delivery ¨C CD£©
ÈÃÎÒÃǻص½Á½Î»¿ª·¢ÕßSteveºÍAnnieÉíÉÏ¡£³ÖÐø½»¸¶Òâζ×Åÿ´ÎSteve»òAnnie¶Ô´úÂë½øÐиü¸Ä¡¢¼¯³ÉºÍ¹¹½¨Ê±£¬ËûÃÇÒ²»áÔÚÓëÉú²ú»·¾³·Ç³£ÏàËÆµÄ״̬ϽøÐÐ×Ô¶¯µÄ´úÂë²âÊÔ¡£ÎÒÃdzÆÕâһϵÁеġ°²¿Êð-²âÊÔ¡±µ½²»Í¬»·¾³µÄ²Ù×÷Ϊ²¿ÊðÁ÷Ë®Ïß¡£Í¨³£À´Ëµ£¬²¿ÊðÁ÷Ë®ÏßÓÐÒ»¸ö¿ª·¢»·¾³£¬Ò»¸ö²âÊÔ»·¾³£¬»¹ÓÐÒ»¸ö×¼Éú²ú»·¾³£¬µ«ÊÇÕâЩ½×¶ÎÒòÍŶӣ¬²úÆ·ºÍ×éÖ¯¸÷Òì¡£ÀýÈ磬ÎÒÃǵÄMingleÍŶÓÓÐÒ»¸ö³ÆÎª¡°µ°¸â¡±µÄ×¼Éú²ú»·¾³£¬¶øEtsyµÄ×¼Éú²ú»·¾³½Ð×ö¡°¹«Ö÷¡±¡££¨Òë×¢£ºÏû³ý¿ª·¢»·¾³ºÍÉú²ú»·¾³²îÒ죬²Î¿¼Docker¼¼ÊõÌåϵ£©

ÔÚÿ¸ö²»Í¬µÄ»·¾³ÖУ¬Annie»òSteveдµÄ´úÂë±»·Ö±ð²âÊÔ¡£Õâ¸øÁËËûÃÇÔ½À´Ô½¶àµÄÐÅÐÄ¡£¶ÔÄã¶øÑÔ£¬¾ÍÊÇ´úÂë±»²¿Êðµ½Éú²ú»·¾³ÖÐʱ£¬ËüÄܹ»¹¤×÷¡£ÖÁ¹ØÖØÒªµÄÊÇ£¬´úÂëÖ»ÓÐÔÚ²¿ÊðÁ÷Ë®ÏßÖÐͨ¹ýÁËÇ°ÃæµÄ²âÊÔ£¬²ÅÄÜÌáÉýµ½ÏÂÒ»¸ö²âÊÔ»·¾³¡£ÕâÑù£¬AnnieºÍSteve¿ÉÒÔ´Óÿ¸ö»·¾³µÄ²âÊÔÖлñµÃеķ´À¡¡£Èç¹û³öÏÖÁË´íÎó£¬ËûÃÇ¿ÉÒÔ¸üÈÝÒ×µÄÀí½âÎÊÌâµ½µ×ÔÚÄÄÀ²¢ÇÒÔÚ´úÂë½øÈëÉú²ú»·¾³Ö®Ç°ÐÞ¸´ËüÃÇ¡£
³ÖÐøÑ§Ï°£¨Continuously Learning£©
Õâ¸ö¹ý³Ì·Ç³£ÓÐÖúÓÚÎÒÃǵŤ×÷¡£ÕâÒâζ×ÅÈç¹ûAnnieµÄ²âÊÔÔÚËùÓеĻ·¾³ÖлñµÃͨ¹ý£¬Äã¾Í¿ÉÒÔÖªµÀËýµÄ´úÂëÔÚÉú²ú»·¾³ÖÐÒ²Ó¦¸ÃÈçͬԤÆÚÒ»°ã¹¤×÷¡£Ò»µ©ËùÓеĻ·¾³¶¼²âÊÔͨ¹ý£¬ÄÇôÄã¿ÉÒÔÁ¢¼´¾ö¶¨ÄãµÄÓû§ÊÇ·ñÄܹ»»ñµÃ¡£ÎÒÃÇÏÖÔÚÏëÒªÕâÖÖÂÌÉ«¹¹½¨ÓÃÓÚÉú²úÖÐô£¿µ±È»À²£¡²¢ÇÒ£¬Ëæ×ÅÄãµÄ¿ª·¢ÈËÔ±Íê³É¹¹½¨£¬Ðµġ¢³ä·Ö²âÊԵġ¢Äܹ¤×÷µÄÈí¼þÁ¢Âí¾ÍÄÜÌṩ¸ø¿Í»§¡£Ë¬ÍáÍᣡ
³ÖÐø²¿Êð£¨Continuous Deployment£©
ÕâÊÇÒ»ÖÖʵ¼ù£¬¼´£ºSteveºÍAnnieËù×öµÄÿһÏî±ä¸ü£¬ÔÚͨ¹ýËùÓеIJâÊÔ½×¶ÎÖ®ºó£¬×Ô¶¯µÄͶÈëÉú²ú»·¾³¡£Tim FitzÊ×ÏÈÌá³öÁËÒ»¸öºÜºÃµÄ½âÊÍ¡£ÓÐЩ¹«Ë¾Õâô¸É£¬ÓÐЩÔò²»ÕâÑù×ö¡£ÏëҪʵÏÖ³ÖÐø²¿Êð£¬Ê×ÏÈҪʵÏÖ³ÖÐø½»¸¶¡£Òò´ËÔÚ¿ªÊ¼Êµ¼ùCD֮ǰ£¬¾ö¶¨Äĸö¸üÊʺÏÄãÊDz»ÖØÒªµÄ¡£ÎÞÂÛÄÄÖÖ·½Ê½£¬ÎÒÈÏΪ³ÖÐø½»¸¶ÊǹØÓÚÓÐÖúÓÚÕû¸öÒµÎñÄÜÁ¦µÄÊÂÇ飬Òò´ËÄãÖÁÉÙÓ¦¸Ã²ÎÓë¾ö¶¨ÊÇ·ñʹÓóÖÐø²¿Ê𡣱Ͼ¹£¬Èç¹ûÄãÕýÔÚÔĶÁÕâÆªÎÄÕ£¬ÄÇôÄã¿ÉÄܾÍÊÇÔÚ¡°ÒµÎñ·½Ã桱¡£

DevOps£¨¿ª·¢ÓëÔËά ¨C Development and Operations£©
¡°DevOps¡±Ò»´ÊÔ´×Ô¡°¿ª·¢-Development¡±ºÍ¡°ÔËά-Operations¡±µÄ´Ê»ã×éºÏ¡£DevOpsÊÇÒ»ÖÖ´Ù½ø¿ª·¢ÈËÔ±£¨±ÈÈçSteveºÍAnnie£©ºÍÆäËûרҵ¼¼ÊõÈËÔ±£¨Èç5ÐǼ¶ÔËάÃ÷ÐÇJoey£© ¨C ͨ³£³ÆÎªÔËά ¨C Ö®¼äºÏ×÷µÄÎÄ»¯¡£¾ßÌåÀ´Ëµ£¬¾ÍÊÇÔÚÈí¼þ½»¸¶ºÍ²¿Êð¹ý³ÌÖеŵͨÓëÐ×÷£¬Ö¼ÔÚ¸ü¿ì¡¢¸ü¿É¿¿µÄµÄ·¢²¼¸ü¸ßÖÊÁ¿µÄÈí¼þ¡£
ÓµÓÐËùνDevOpsÎÄ»¯µÄ×éÖ¯Æä¹²Í¬ÌØÕ÷ÊÇ£º×ÔÖ÷µÄ¾ß±¸¶àÖÖ¼¼ÄܵÄÍŶӣ¨Steve£¬Annie£¬Joey¶¼ÔÚͬһÍŶӣ©£¬¸ßˮƽµÄ²âÊԺͷ¢²¼×Ô¶¯»¯£¨³ÖÐø½»¸¶£©ºÍ¾ßÓй²Í¬Ä¿±ê¡¢ÓжàÖÖ¼¼ÄܵÄÍŶӳÉÔ±¡£

Äã¿ÉÄܻᷢÏÖÔÚÄãµÄ×éÖ¯Àï¿ÉÒÔʹÓõÄÒ»ÖÖģʽÊÇ£¬ÎÒÃǵĿª·¢ÕßSteveºÍAnnie½«ºÍÔËάÈËÔ±±ÈÈçJoeyºÏ×÷£¬½»¸¶³ÉÆ·Èí¼þ£¬¶ø²»Êǽö½ö½«ËûÃǸÕÍê³ÉµÄ´úÂë¡°½»¸ø¡±JoeyÈ¥·¢²¼¡£Í¬ÑùµÄ£¬Steve£¬AnnieºÍJoey¶¼½«×÷Ϊ¹«¹²²úÆ·»ò·þÎñÍŶӵÄÒ»Ô±£¬ËûÃÇÒ»Æð¸ºÔð²úÆ·µÄÖ§³ÖÓëά»¤£¬¶ø²»ÊÇÈÃÔËάÍŶӵ¥¶À¸ºÆðÖ§³ÖµÄÔðÈΡ£
Ä㻹»á¿´µ½Ðж¯µÄ×Ô¶¯»¯¶ÔÓÚÖ´ÐÐCDºÍDevOpsµÄ×éÖ¯À´ËµÔ½À´Ô½ÖØÒª¡£ÕâÊÇÒòΪ£¬ÎªÁËʵÏÖÎÒÃÇÆÚÍû´ÓCDºÍDevOpsÖлñµÃµÄ¿ÉÖØ¸´¡¢¶¨ÆÚºÍ³É¹¦·¢²¼Èí¼þµÄ¹ý³Ì£¬×éÖ¯±ØÐëתÏò×Ô¶¯»¯¡£ÊÖ¹¤Á÷³ÌºÜÈÝÒ׳ö´í²¢ÇÒЧÂʵÍÏ¡£

DevOpsÎÄ»¯Í¨³£Óë³ÖÐø½»¸¶Ïà¹ØÁª£¬ÒòΪËüÃǶ¼Ö¼ÔÚÔö¼Ó¿ª·¢ÈËÔ±ºÍÔËάÍŶÓÖ®¼äµÄÐ×÷£¬²¢ÇÒ¶¼Ê¹ÓÃ×Ô¶¯»¯Á÷³ÌÈ¥¸ü¿ìËÙ¡¢Æµ·±¡¢¿É¿¿µÄ¹¹½¨¡¢²âÊԺͷ¢²¼Èí¼þ¡£ÈËÃÇϲ»¶ÎÒÃÇÏëÒªµÄËùÓÐÕâЩ¶«Î÷¡£
ÏÂÒ»²½ÊÇʲô£¿
ËäÈ»¿ª·¢ÍŶӾ³£¿´µ½Á÷³Ì¸Ä½øËù´øÀ´µÄÁ¢¸Í¼ûÓ°µÄºÃ´¦£¬µ«ÊÇCI£¬CDºÍDevOps¶ÔÎÒÃÇÆäËûÈËÀ´ËµÒ²ÓкܶàºÃ´¦¡£¼ò¶øÑÔÖ®£¬ÎÒÏàÐÅ×é֯ʵ¼ùCDºÍÓµ±§DevOpsÎÄ»¯£¬½«ÄÜΪËüÃǵĿͻ§½»¸¶¸üÓмÛÖµ¡¢¸üΪ¿É¿¿µÄÈí¼þ£¬¶øÇÒ¸üƵ·±¡£ÕâÊDz»ÊǺÜÔÞ£¬¶Ô°É£¿ÌرðÊÇÈç¹ûÄãÔÚ¡°ÉÌÒµ·½Ã桱£¨¸ü¶àµÄ¿Í»§ÐÅÀµ£¬¸ü¶àµÄ¶©µ¥£©¡£
ÓÐÓõÄÊõÓï
Checking in ¨C Ç©Èë
½«±¾µØ¿ª·¢µÄ´úÂë±ä¸üÍÆË͵½Í¨ÓôúÂë²Ö¿âµÄ¹ý³Ì¡££¨Òë×¢£ºÒ²³ÆÎªCommit£¬Ìá½»£©
CI Server ¨C ³ÖÐø¼¯³É·þÎñÆ÷
ÓÃÓÚ¹¹½¨ºÍ²âÊÔÔ´´úÂëµÄ¹¤¾ß¡£CI·þÎñÆ÷»á¸æËß¿ª·¢ÈËÔ±ËûÃÇ×îеĴúÂë¹¹½¨ÊÇ·ñ³É¹¦£¬ÒÔ¼°ËüÃÇÊÇ·ñ¼ÌÐøÍ¨¹ý²âÊÔ¡£
Development environment ¨C ¿ª·¢»·¾³
¿ª·¢ÈËÔ±´´½¨¡¢¼¯³É¡¢¹¹½¨ºÍ²âÊÔ´úÂëµÄµØ·½¡£
Deployment pipeline ¨C ²¿ÊðÁ÷Ë®Ïß
ÕâÊÇSteveºÍAnnieµÄ´úÂëÔÚÍê³É²¢×¼±¸ºÃ½»¸¶µ½Éú²ú»·¾³Ö®Ç°£¬Ëù¾ÀúµÄһϵÁн׶Ρ£Í¨³£À´Ëµ£¬ÕâЩ½«ÊÇ¡°¹¹½¨¡¢µ¥Ôª²âÊÔ¡¢¹¦ÄܲâÊÔ¡¢ÐÔÄܲâÊÔ¡¢²¿Ê𡱡£²»Í¬µÄ×Ô¶¯»¯²âÊÔ½«ÔÚ²»Í¬µÄ½×¶ÎÔËÐС£Ö»ÓдúÂë¹á´©Õû¸ö²¿ÊðÁ÷Ë®Ïߣ¬²ÅÄܽ«Èí¼þ½»¸¶µ½Éú²ú»·¾³¡£
Green build ¨C ÂÌÉ«¹¹½¨
ÂÌÉ«Êdzɹ¦µÄ±êÖ¾¡£ÂÌÉ«°æ±¾»ò¹¹½¨£¬ÊÇͨ¹ý²âÊÔ¿ª·¢ºÍ½»¸¶Á÷³ÌµÄÌØ¶¨½×¶ÎµÄÒ»¸ö°æ±¾¡£Ò»°ãÇé¿öÏ£¬Ò»¸ö¹¹½¨»ò°æ±¾ÊDz»»áÉý¼¶µ½²¿ÊðÁ÷Ë®ÏßµÄÏÂÒ»¸ö½×¶ÎµÄ£¬³ý·ÇËüÊÇÂÌÉ«µÄ¡£ÂÌÉ«¹¹½¨µÄ·´ÃæÊǺìÉ«¹¹½¨£¨¼ûÏÂÎÄ£©
Incremental development ¨C ÔöÁ¿¿ª·¢
²»ÒªÓëµü´ú¿ª·¢»ìÏýÁË£¨¼ûÏÂÎÄ£©¡£ÔöÁ¿¿ª·¢ÊÇÖ¸Ò»´ÎÍê³ÉһС²¿·Ö²úÆ·µÄ¹¹½¨£¬Ö±µ½È«²¿Íê³É¡£Ã¿´ÎÔöÁ¿Öж¼Ìí¼ÓÒ»²¿·Ö£¬ÕâЩÔöÁ¿¿ÉÄܺÜС»òºÜ´ó¡£Äã¿ÉÒÔͨ¹ýÔöÁ¿¿ª·¢À´Ê¹ÓÃCI£¬µ«ÊÇʹÓÃÔöÁ¿¿ª·¢¿ÉÄÜÄÑÒÔʵÏÖ³ÖÐø½»¸¶»ò³ÖÐø²¿Êð£¬ÒòΪÄã±ØÐëµÈµ½ËùÓÐÔöÁ¿Íê³ÉÖ®ºó²ÅÄܽ»¸¶¼ÛÖµ¡£½âÊÍÔöÁ¿Ê½ºÍµü´úʽ¿ª·¢Ö®¼ä²îÒìµÄÒ»¸öºÜºÃÀý×Ó£¬ÊÇJeff PatonµÄÃÉÄÈÀöɯ¡£(Òë×¢£º¼ûÏÂͼµÄ˵Ã÷£¬Òâ˼¾ÍÊǴﵽĿ±êµÄ²»Í¬·½Ê½)

ÔöÁ¿¿ª·¢

µü´ú¿ª·¢
Integration ¨C ¼¯³É
ËùÓÐÓɸöÈË»òÍŶӱàдµÄ´úÂë¶¼ÐèÒªºÏ²¢¡£ÎÒÃdzÆÖ®Îª¼¯³É¡£ÔÚ³ÖÐø¼¯³ÉÖУ¬ÎÒÃÇͨ³£Ö¸µÄÊÇÀ´×Ô¸öÌåµÄÈí¼þ´úÂëÐèÒª¶¨ÆÚºÏ²¢¡£ÔÚ³ÖÐø½»¸¶ÖУ¬ÎÒÃÇͨ³£Ö¸µÄÊÇÀ´×Ô²»Í¬ÍŶӵÄÈí¼þ¼¯³ÉÔÚÒ»ÆðÒÔ´´½¨Õû¸ö²úÆ·¡£
Iterative development ¨C µü´ú¿ª·¢
²»ÒªÓëÔöÁ¿¿ª·¢»ìÏý£¨¼ûÉÏÎÄ£©¡£µü´ú¿ª·¢ÊÇ´ÓÒ»µãµã¿ªÊ¼Öð´Î¹¹½¨²úÆ·£¬²»¶ÏÍêÉÆÖ±µ½Íê³É¡£²úÆ·Êǵü´ú¿ª·¢µÄ£¬Òâζ×ÅͬÑùµÄ²¿·Öÿ´Îµü´ú¶¼Òª¸Ä½ø¡£ÔÚ²»Í¬µÄµü´ú°æ±¾Öй¦ÄÜÌØÐÔÓбð£¬ÔÚÕâÖ®¼ä¼Æ»®ºÍÔ¤ÆÚ²úÆ·µÄ±ä¸ü¡£Äã¿ÉÒÔʹÓóÖÐø¼¯³É¡¢³ÖÐø½»¸¶»ò³ÖÐø²¿Êð½øÐеü´ú¿ª·¢¡£ÔöÁ¿Ê½ºÍµü´úʽ¿ª·¢Ö®¼äµÄ²îÒ죬¼ûÉÏͼ¡£
Master/trunk/mainline?¨C (Òë×¢£ºÔ´´úÂë¹ÜÀíϵͳÖеķÖÖ§¸ÅÄϸ½Ú¿ÉÒԲο¼ÏÂGit´úÂë¹ÜÀíϵͳ)
¡°Master/trunk/mainline¡±ÊÇÔ´´úÂë²Ö¿âµÄÖ÷Òª·ÖÖ§£¬¼´Ö÷Ïß¡£´ó¶àÊýÈ˶¼ÔÚÖ÷¸ÉÉϽøÐпª·¢£¬ÕâÒâζ×ÅËûÃÇҪʼÖÕ½«Æä±ä¸ü¼¯³Éµ½Ö÷Ïß¡£ÁíһЩÔòÔÚµ¥¶ÀµÄ¿ª·¢ÈËÔ±ÓÐ×Ô¼ºµÄ·Ö֧ʱ£¬½øÐлùÓÚ·ÖÖ§µÄ¿ª·¢£¬»òÕßÍŶӽ«¾ßÓв»Í¬ÌØÐԵķÖÖ§¡£
Production environment ¨C Éú²ú»·¾³
ÕâÊÇÈí¼þ²¿Êð»ò·¢²¼µÄµØ·½¡£Ê¹ÓÃÄãµÄ²úÆ·»òÍøÕ¾µÄ¿Í»§×îÓпÉÄÜʹÓô˻·¾³¡£Ò²¿ÉÒÔ³ÆÖ®Îª£º¡°ÔÚÉú²úÖС±£¬¡°ÔÚ²úÆ·ÖС±£¬¡°ÏßÉÏ¡±¡£
Red build ¨C ºìÉ«¹¹½¨
ºìÉ«±íʾʧ°Ü¡£ºìÉ«°æ±¾»ò¹¹½¨£¬ÊÇÖ¸ÔÚ¿ª·¢ºÍ½»¸¶Á÷³ÌÖУ¬Î´Í¨¹ýÌØ¶¨½×¶Î²âÊԵİ汾¡£Í¨³££¬Èç¹ûÈí¼þµÄµÄ¹¹½¨ÊǺìÉ«µÄ£¬Ôò²»»á½«ÆäÌáÉýµ½²¿ÊðÁ÷Ë®ÏßµÄÏÂÒ»¸ö½×¶ÎµÄ¡£ºìÉ«¹¹½¨µÄ·´ÃæÊÇÂÌÉ«¹¹½¨¡£
Source repository ¨C Ô´´úÂë¿â
ÕâÊÇÔ´´úÂëËùÔڵĵط½¡£SteveºÍAnnieÓÐËûÃÇ×Ô¼ºÕýÔÚÉÏÃæ¹¤×÷µÄ±¾µØ´úÂë°æ±¾£¨Òâζ×Å´úÂëÔÚËûÃÇ×Ô¼ºµÄ»úÆ÷ÉÏ£©£¬µ«ÊÇÔÚ¿ª·¢ÈËÔ±Ìá½»Ð޸ĵĴúÂëºó£¬Ô´´úÂë¿â½«°üº¬ËùÓеĴúÂë¡£
Test automation ¨C ×Ô¶¯»¯²âÊÔ
³ÖÐø¼¯³ÉºÍ³ÖÐø½»¸¶ÐèÒª¸ßÖÊÁ¿µÄ×Ô¶¯»¯²âÊÔ¡£²âÊÔÊǼì²éÈí¼þÊÇ·ñ°´Ô¤ÆÚ¹¤×÷µÄ·½·¨¡£×Ô¶¯»¯²âÊÔÊÇ´úÂë±àдµÄ²âÊÔ£¬Äܹ»ÔÚ´úÂëÇ©È빫¹²Ô´´úÂë¿âºó×Ô¶¯ÔËÐС£
ÔÚCIÊÀ½çÖУ¬Ã¿´ÎÈí¼þ¼¯³ÉºÍ¹¹½¨Ê±¶¼»áÔËÐе¥Ôª²âÊÔ¡£Èç¹û²âÊÔûÓÐͨ¹ý£¬ÄǸöÈí¼þ°æ±¾¾Í»á±»È·¶¨Îª²»Äܹ¤×÷£¬¡°ºìÉ«¡±£¬¡°Öжϡ±¡£ÔÚÕâÖÖÇé¿ö·¢Éúʱ£¬ÓÐЩ¹¤×÷³¡ºÏ»á³öÏÖ¡°ºìµÆ¡±»òÕß±¯É˵ÄÉùÒô£¨Ìáʾ¹¹½¨Ê§°Ü£©¡£
Èç¹û¹¹½¨Ê§°ÜÁË£¬SteveºÍAnnie£¨ÎÞÂÛËÌá½»µÄ´íÎó´úÂ룩ÐèÒªÐÞ¸´Ëü£¬ÈÃËü±äÂÌÉ«£¬ÈÃËüÄܹ»¹¤×÷¡£ËûÃÇ¿ÉÒÔͨ¹ýÐ޸ĴúÂëÀ´ÐÞ¸´Ëü£¬»òÕßÒÆ³ýÇ°ÃæÔì³ÉÖжϵĸü¸Ä¡£
Unit tests ¨C µ¥Ôª²âÊÔ
µ¥Ôª²âÊÔÊÇ´úÂëÖеÄ×Ô¶¯»¯²âÊÔ£¬Í¨¹ý²âÊԵͼ¶¡¢µ¥Æ¬µÄ´úÂëÒÔÈ·±£ËüÃÇ¿ÉÓúͰ´Ô¤ÆÚ¹¤×÷¡£µ¥Ôª²âÊÔ±»ÈÏΪÊÇʵʩCIºÍCDµÄÏȾöÌõ¼þ¡££¨Òë×¢£ºµ¥Ôª²âÊÔÔںöàÓïÑÔ¡¢¿ò¼ÜÀï¶¼ÓкܺõÄÖ§³Ö£©
|