±à¼ÍƼö: |
±¾ÎĽéÉÜÁ˳ÖÐø½»¸¶ºÍ³ÖÐø²¿ÊðµÄÇø±ðÒÔ¼°³ÖÐø¼¯³ÉµÄÒ»°ãÁ÷³Ì£¬Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚDevOpsʱ´ú£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼ÍƼö¡£ |
|
Ò»¡¢»ù±¾¸ÅÄî
³ÖÐø¼¯³É£¨Continuous integration£¬¼ò³ÆCI£©£¬¼òµ¥À´Ëµ³ÖÐø¼¯³É¾ÍÊÇÆµ·±µØ£¨Ò»Ìì¶à´Î£©½«´úÂ뼯³Éµ½Ö÷¸É¡£ ÿ´Î¼¯³É¶¼Í¨¹ý×Ô¶¯»¯µÄ¹¹½¨£¨°üÀ¨±àÒë¡¢·¢²¼¡¢×Ô¶¯»¯²âÊÔ£©À´ÑéÖ¤£¬´Ó¶ø¾¡¿ìµØ·¢ÏÖ¼¯³É´íÎó¡£

³ÖÐø¼¯³ÉÇ¿µ÷¿ª·¢ÈËÔ±Ìá½»ÁËдúÂëÖ®ºó£¬Á¢¿Ì½øÐй¹½¨¡¢£¨µ¥Ôª£©²âÊÔ¡£¸ù¾Ý²âÊÔ½á¹û£¬¿ÉÒÔÈ·¶¨Ð´úÂëºÍÔÓдúÂëÄÜ·ñÕýÈ·µØ¼¯³ÉÔÚÒ»Æð¡£
³ÖÐø¼¯³ÉµÄºÃ´¦£º
- ¿ìËÙ·¢ÏÖ´íÎó£¬Ã¿Íê³ÉÒ»µã¸üУ¬¾Í¼¯³Éµ½Ö÷¸É£¬¿ÉÒÔ¿ìËÙ·¢ÏÖ´íÎ󣬶¨Î»´íÎóÒ²±È½ÏÈÝÒ×£»
- ·ÀÖ¹·ÖÖ§´ó·ùÆ«ÀëÖ÷¸É£¬Èç¹û²»¾³£¼¯³É£¬Ö÷¸ÉÓÖÔÚ²»¶Ï¸üУ¬»áµ¼ÖÂÒԺ󼯳ɵÄÄѶȱä´ó£¬ÉõÖÁÄÑÒÔ¼¯³É¡£
³ÖÐø¼¯³ÉµÄÄ¿µÄ£º¡¡¡¡ ÈòúÆ·¿ÉÒÔ¿ìËÙµü´ú£¬Í¬Ê±»¹Äܱ£³Ö¸ßÖÊÁ¿¡£ËüµÄºËÐÄ´ëÊ©ÊÇ£¬´úÂ뼯³Éµ½Ö÷¸É֮ǰ£¬±ØÐëͨ¹ý×Ô¶¯»¯²âÊÔ¡£Ö»ÒªÓÐÒ»¸ö²âÊÔÓÃÀýʧ°Ü£¬¾Í²»Äܼ¯³É¡£ ³ÖÐø¼¯³É²¢²»ÄÜÏû³ý Bug£¬¶øÊÇÈÃËüÃǷdz£ÈÝÒ׵ķ¢Ïֺ͸ÄÕý¡£
¶þ¡¢³ÖÐø½»¸¶
³ÖÐø½»¸¶£¨Continuous delivery£©Ö¸µÄÊÇ£ºÆµ·±µØ½«Èí¼þµÄа汾£¬½»¸¶¸øÖÊÁ¿ÍŶӻòÕßÓû§£¬ÒÔ¹©ÆÀÉó¡£Èç¹ûÆÀÉóͨ¹ý£¬´úÂë¾Í½øÈëÉú²ú½×¶Î¡£

³ÖÐø½»¸¶¿ÉÒÔ¿´×÷³ÖÐø¼¯³ÉµÄÏÂÒ»²½¡£ËüÇ¿µ÷µÄÊÇ£¬²»¹ÜÔõô¸üУ¬Èí¼þÊÇËæÊ±ËæµØ¿ÉÒÔ½»¸¶µÄ¡£
Èý¡¢³ÖÐø²¿Êð
³ÖÐø²¿Êð£¨Continuous deployment£©ÊdzÖÐø½»¸¶µÄÏÂÒ»²½£¬Ö¸µÄÊÇ´úÂëͨ¹ýÆÀÉóÒÔºó£¬×Ô¶¯²¿Êðµ½Éú²ú»·¾³¡£

³ÖÐø²¿ÊðµÄÄ¿±êÊÇ£º´úÂëÔÚÈκÎʱºò¶¼ÊÇ¿ÉÒÔ²¿ÊðµÄ£¬¿ÉÒÔ½øÈëÉú²ú½×¶Î£¬³ÖÐø²¿ÊðµÄǰÌáÊÇÄÜ×Ô¶¯»¯Íê³É²âÊÔ¡¢¹¹½¨¡¢²¿ÊðµÈ²½Öè¡£
ËÄ¡¢³ÖÐø½»¸¶ºÍ³ÖÐø²¿ÊðµÄÇø±ð
CDÊdzÖÐø½»¸¶ºÍ³ÖÐø²¿Ê𣬵«ÊdzÖÐø½»¸¶²»µÈÓÚ³ÖÐø²¿Êð¡£³ÖÐø²¿ÊðÔòÊÇÔÚ³ÖÐø½»¸¶µÄ»ù´¡ÉÏ£¬°Ñ²¿Êðµ½Éú²ú»·¾³µÄ¹ý³Ì×Ô¶¯»¯¡£¾ßÌåÇø±ð²Î¿¼ÏÂͼ£º

Îå¡¢³ÖÐø¼¯³ÉµÄÒ»°ãÁ÷³Ì
¸ù¾Ý³ÖÐø¼¯³ÉµÄÉè¼Æ£¬´úÂë´ÓÌá½»µ½Éú²ú£¬Õû¸ö¹ý³ÌÓÐÒÔϼ¸²½£º
£¨1£©Ìá½»
Á÷³ÌµÄµÚÒ»²½£¬ÊÇ¿ª·¢ÕßÏò´úÂë²Ö¿âÌá½»´úÂë¡£ËùÓкóÃæµÄ²½Ö趼ʼÓÚ±¾µØ´úÂëµÄÒ»´ÎÌá½»£¨commit£©¡£
£¨2£©²âÊÔ£¨µÚÒ»ÂÖ£©
´úÂë²Ö¿â¶Ôcommit²Ù×÷ÅäÖÃÁ˹³×Ó£¨hook£©£¬Ö»ÒªÌá½»´úÂë»òÕߺϲ¢½øÖ÷¸É£¬¾Í»áÅÜ×Ô¶¯»¯²âÊÔ¡£
(3£©¹¹½¨
ͨ¹ýµÚÒ»ÂÖ²âÊÔ£¬´úÂë¾Í¿ÉÒԺϲ¢½øÖ÷¸É£¬¾ÍËã¿ÉÒÔ½»¸¶ÁË¡£
½»¸¶ºó£¬¾ÍÏȽñϦ¹¹½¨£¨build£©£¬ÔÙ½øÈëµÚ¶þÂÖ²âÊÔ¡£Ëùν¹¹½¨£¬Ö¸µÄÊǽ«Ô´Âëת»»Îª¿ÉÒÔÔËÐеÄʵ¼Ê´úÂ룬±ÈÈç°²×°ÒÀÀµ£¬ÅäÖø÷ÖÖ×ÊÔ´£¨Ñùʽ±í¡¢JS½Å±¾¡¢Í¼Æ¬£©µÈµÈ¡£
³£ÓõĹ¹½¨¹¤¾ßÖ÷ÒªÊÇ£ºjeknins¡¢Travis¡¢codeshipµÈ¡£
£¨4£©²âÊÔ£¨µÚ¶þÂÖ£©
¹¹½¨Íê³É£¬¾ÍÒª½øÐеڶþÂÖ²âÊÔ¡£Èç¹ûµÚÒ»ÂÖÒѾº¸ÇÁËËùÓвâÊÔÄÚÈÝ£¬µÚ¶þÂÖ¿ÉÒÔÊ¡ÂÔ£¬µ±È»£¬Õâʱ¹¹½¨²½ÖèÒ²ÒªÒÆµ½µÚÒ»ÂÖ²âÊÔÇ°Ãæ¡£
µÚ¶þÂÖÊÇÈ«Ãæ²âÊÔ£¬µ¥Ôª²âÊԺͼ̳вâÊÔ¶¼»áÅÜ£¬ÓÐÌõ¼þµÄ»°£¬Ò²Òª×ö¶Ë¶Ô¶Ë²âÊÔ¡£ËùÓвâÊÔÒÔ×Ô¶¯»¯ÎªÖ÷£¬ÉÙÊýÎÞ·¨×Ô¶¯»¯µÄ²âÊÔÓÃÀý£¬¾ÍÒªÈ˹¤ÅÜ¡£
4£©²âÊÔ£¨µÚ¶þÂÖ£©
¹¹½¨Íê³É£¬¾ÍÒª½øÐеڶþÂÖ²âÊÔ¡£Èç¹ûµÚÒ»ÂÖÒѾº¸ÇÁËËùÓвâÊÔÄÚÈÝ£¬µÚ¶þÂÖ¿ÉÒÔÊ¡ÂÔ£¬µ±È»£¬Õâʱ¹¹½¨²½ÖèÒ²ÒªÒÆµ½µÚÒ»ÂÖ²âÊÔÇ°Ãæ¡£
µÚ¶þÂÖÊÇÈ«Ãæ²âÊÔ£¬µ¥Ôª²âÊԺͼ̳вâÊÔ¶¼»áÅÜ£¬ÓÐÌõ¼þµÄ»°£¬Ò²Òª×ö¶Ë¶Ô¶Ë²âÊÔ¡£ËùÓвâÊÔÒÔ×Ô¶¯»¯ÎªÖ÷£¬ÉÙÊýÎÞ·¨×Ô¶¯»¯µÄ²âÊÔÓÃÀý£¬¾ÍÒªÈ˹¤ÅÜ¡£
£¨5£©²¿Êð
ͨ¹ýµÚ¶þÂÖ²âÊÔ£¬µ±Ç°´úÂë¾ÍÊÇÒ»¸ö¿ÉÒÔÖ±½Ó²¿ÊðµÄ°æ±¾£¨artifact£©¡£½«Õâ¸ö°æ±¾µÄËùÓÐÎļþ´ò°ü£¨tar filename.tar *£©´æµµ£¬·¢µ½Éú²ú·þÎñÆ÷¡£
Éú²ú·þÎñÆ÷½«´ò°üÎļþ£¬½â°ü³É±¾µØµÄÒ»¸öĿ¼£¬ÔÙ½²ÔËÐз¾¶µÄ·ûºÅÁ´½Ó£¨symlink£©Ö¸ÏòÕâ¸öĿ¼£¬È»ºóÖØÐÂÆô¶¯Ó¦Óá£
Õâ·½ÃæµÄ²¿Ê𹤾ßÓÐAnsible¡¢Chef¡¢PuppetµÈ¡£
£¨6£©»Ø¹ö
Ò»µ©µ±Ç°°æ±¾·¢ÉúÎÊÌ⣬¾ÍÒª»Ø¹öµ½ÉÏÒ»¸ö°æ±¾µÄ¹¹½¨½á¹û¡£×î¼òµ¥µÄ×ö·¨¾ÍÊÇÐÞ¸ÄһϷûºÅÁ´½Ó£¬Ö¸ÏòÉÏÒ»¸ö°æ±¾µÄĿ¼¡£
|