´Ó½ñÌ쿪ʼ£¬ÈÃÎÒÃÇʹÓÃ×î¼Ñ DevOps ¹¤¾ß¡£
DevOps ¸ïÃüÒÑÈ»³ÉΪÖ÷Á÷£¬¸÷Àà DevOps ¹¤¾ßµÄÈËÆøһ·ìÉý¡£¸ù¾Ý Google Trends µÄͳ¼Æ£¬»¥ÁªÍøÓû§¶Ô¡°DevOps ¹¤¾ß¡±µÄËÑË÷Á¿Ò»Ö±ÔÚÎȶ¨Ôö³¤£¬¶øÇÒÕûÌå·¢Õ¹Ç÷ÊÆÒ²Ï൱Îȶ¨¡£
ÓÉÓÚ DevOps º¸ÇÕû¸öÈí¼þ¿ª·¢ÉúÃüÖÜÆÚ£¬ÆÚ¼äÉæ¼°¶àÖÖ¿ÉÑ¡¹¤¾ßÑ¡ÏûÓÐÄÄÖÖ¹¤¾ßÄܹ»ÊʺÏËùÓÐÇé¿ö£¬µ«ÊÇÕë¶Ô¸÷ÀàÓ¦Óó¡¾°¶¼ÓжÔÓ¦µÄ¡¢·¢Õ¹½ÏΪ³ÉÊìµÄ¹¤¾ß¡£ÎÒÃÇ°ÑÕû¸ö DevOps ʵ¼ù¹ý³ÌÖÐʹÓõ½µÄ¹¤¾ß·ÖΪÒÔϼ¸Àࣺ
Ò»¸ö³ÉÊìÇҳɹ¦µÄ DevOps ʵ¼ù±ØÐ뽨Á¢Ò»Ì×ÍêÕûµÄ¹¤¾ß¹ÜµÀ£¬ÒÔÉÏÎåÀ๤¾ß¾Í°üº¬ÔÚÆäÖС£
ÕâÀ๤¾ßÊÇ CI/CD ¹ÜµÀ¶ÑÕ»µÄ»ù´¡£¬Ò»ÇÐÒ²ÒÔ´Ë×÷ΪÆðµã¡£
¿ª·¢Óë¹¹½¨¹¤¾ßÐèҪе÷¶à¸öʼþÁ÷£¬²¢ÄÜÓëÍⲿ¹¤¾ßÇáËɼ¯³É¡£¸ù¾ÝÈí¼þ¿ª·¢ÉúÃüÖÜÆÚ£¬ÕâÀ๤¾ßÓÖ¿ÉÒÔ·ÖΪÈý¸ö×ÓÀà±ð£º
2020 Ä꣬ÎÒÃÇ×îÍƼöµÄ SCM ¼¼ÊõÊÇ Git£¬ËùÒÔ½¨ÒéÑ¡ÔñµÄ SCM ¹¤¾ß×îºÃÌṩ³öÉ«µÄ Git Ö§³ÖÄÜÁ¦¡£ÔÚ CI ·½Ã棬×îÖØÒªµÄÊÇÔÚÁÙʱÈÝÆ÷»¯»·¾³ÖÐÔËÐм°Ö´Ðй¹½¨ÈÎÎñµÄÄÜÁ¦¡£ÖÁÓÚÊý¾Ý¹ÜÀí£¬ÎÒÃÇÏ£Íû¹¤¾ßÄܹ»±ä¸üÊý¾Ý¿â¼Ü¹¹£¬²¢Ê¹ÆäÓëÓ¦ÓóÌÐò°æ±¾±£³ÖÒ»Ö¡£
SCM+CI¹¤¾ß£ºGitlabÓëGitlab-CI
Gitlab ÎÞÒÉÊÇ 2020 Äê×îÇ¿´óµÄ DevOps ÉúÃüÖÜÆÚ¹¤¾ß£¬²¢½«ÔÚ¿ÉÔ¤¼ûµÄδÀ´½«³ÉΪ´´ÐÂÁìÓòµÄÁìµ¼Õß¡£
Gitlab µÄºËÐĶ¨ÒåÊÇÔÚÓÚÌṩһ¿îÍêÃÀµÄ Git repo ¹ÜÀí¹¤¾ß£¬Æä»ùÓÚ Web µÄÓû§½çÃæÏ꾡ÇÒÒ×ÓÚʹÓ᣸üÖØÒªµÄÊÇ£¬¼´Ê¹ÊÇ Gitlab µÄÃâ·Ñ°æ±¾Ò²×ãÒÔ½â¾öÓû§µÄ¸÷ÀàÐèÇó£¬ÇÒ·Ö±ðÌṩ SaaS Óë±¾µØÉèÊ©°æ±¾¡£
Ä¿Ç°ÊÐÃæÉ쵀 SCM ¹¤¾ß¶àÖÖ¶àÑù£¬µ«Ã»ÓÐÄÄλ¾ºÕùÕßÄܹ»Ïñ Gitlab ÄÇÑù¶àÄêÀ´Ò»Ö±¼á³Ö½«¡°³ÖÐø¼¯³É¡±ÄÜÁ¦ÒýÈë repo µ±ÖС£ÎÒÃÇÖ»ÐèÒª½«.gitlab-ci.yml ÎļþÕ³ÌùÖÁ repo µÄ¸ùĿ¼µ±ÖУ¬Gitlab-CI ¼´¿É¸ù¾ÝÓû§ÔÚÎļþÖÐ×÷³öµÄ¶¨Òå´¥·¢¸÷Àà²Ù×÷¡£×ܶøÑÔÖ®£¬ÕâÁ½¿î¹¤¾ß±Ë´ËÅäºÏ¡¢³ÉΪ´úÂë³ÖÐø¼¯³ÉÁìÓòµ±Ö®ÎÞÀ¢µÄÁìµ¼Õß¡£
Ö÷ÒªÓÅÊÆ
³ÉÊ졪¸Ã²úÆ·ÓÚ 2013 ÄêÕýʽͶ·ÅÊг¡£¬±íÏÖÎȶ¨ÇÒÌṩÁ¼ºÃµÄÖ§³Ö·þÎñ¡£
¿ªÔ´¡ª Gitlab µÄÃâ·Ñ°æ±¾²¢Ã»ÓÐÏ÷¼õ¿ª·¢ÍŶÓËùÐèÒªµÄ¸÷ÏîºËÐŦÄÜ¡£¶ø²»Í¬¸¶·ÑÑ¡ÏîÓÖ½øÒ»²½ÌṩÁ˸ü¶à¸½¼Ó¹¦ÄÜ£¬¿É¸ù¾Ý×éÖ¯µÄ¾ßÌå¹æÄ£ÓëÐèÇó´øÀ´¸ü´óµÄ¼ÛÖµ¡£
Ò×ÓÃÇÒÇ¿´óµÄ CI¡ª Ä¿Ç°ÊÐÃæÉÏûÓÐÄĿ¾ßÄܹ»Ïñ Gitlab-CI Ò»Ñù½«³ÖÐø¼¯³ÉÖ±½ÓǶÈë SCM µ±ÖС£Óû§¿ÉÒÔÀûÓà Docker build ÇáËÉÍê³É¹¹½¨ÈÎÎñ£¬ÄÚÖñ¨¸æ¹¦ÄÜÒ²Èà build ¹ÊÕϵ÷ÊÔ±äµÃ¼ò±ãÒ×ÐС£×ÜÖ®£¬ÎÞÐ踴Ôӵļ¯³ÉÓëÒµÎñÁ÷³Ì£¬¼´¿É¶Ô¶àÖÖ±ØÒª¹¤¾ß½øÐбàÅÅ¡£
ÎÞÏÞ¼¯³É¡ª Gitlab »¹ÄÜÇáËɼ¯³É DevOps ¸÷ºËÐÄÀà±ðÖеIJ»Í¬¹¤¾ßÑ¡Ïî¡£Èç´ËÒ»À´£¬¿ª·¢ÈËÔ±ÓëÔËÓªÈËÔ±½«¿ÉÁ¢×ãÈÎÒâ»·¾³Í¨¹ýÕæʵÀ´Ô´»ñÈ¡ÓëÆäÓ¦ÓóÌÐòÏà¹ØµÄÐÅÏ¢¡£
Ó뾺Õù¶ÔÊֵıȽÏ
ÊÐÃæÉϵÄͬÀ๤¾ßÓкܶ࣬µ«´ó¶àÎÞ·¨Óë Gitlab Ïà±È¼ç¡£
GitHub ¡ª GitHub ÊÇÒ»Ì×ÃæÏòСÐͼ°ÔçÆÚ¿ª·¢ÈºÌåµÄ SaaS Ô´´úÂë¹ÜÀíϵͳ£¬µ«¶ÔÓÚÐèÒªÔÚÍøÂçµ±Öб£Áô֪ʶ²úȨ×ʲúµÄ´óÐÍÆóÒµ£¬GitHub ÌṩµÄΨһѡÏîÖ»ÓÐ.OVA ÐéÄâ»ú¡£ÓÉÓÚÕâ¿î¹¤¾ß²»Ö§³Ö¸ß¿ÉÓÃÐÔ±£ÕÏ£¬on-prem ²¿ÊðµÄά»¤ÄѶȻá±È½Ï¸ß£¬ÇÒÔÚÒµÎñ¹æÄ£Ôö³¤µ½Ò»¶¨³Ì¶Èºó±ØÈ»Òý·¢·þÎñÆ÷±ÀÀ£¡£ÁíÍ⣬GitHub Actions£¨×î½ü¸Õ¸ÕÍƳö£¬µ«ÈÔ²»Ìṩ±¾µØ°æ±¾£©Óë CI-as-Code µÄ³¤ÆÚȱϯ£¬ÆÈʹÓû§×ÔÐÐ×¼±¸ CI ¹¤¾ßÒÔ¹ÜÀí¼¯³É¡£×îºó£¬GitHub µÄʹÓóɱ¾ÒªÔ¶¸ßÓÚÒ»ÇÐ Gitlab °æ±¾¡£
Jenkins ¡ª ËäÈ» Jenkins ÒѾ³ÉΪ³ÖÐø¼¯³É¹¤¾ßÖеÄĬÈϱê×¼£¬µ«ËüȴʼÖÕȱÉÙÔ´´úÂë¿ØÖÆÔªËØ¡£»»¾ä»°Ëµ£¬Jekins Ò»Ö±ÎÞ·¨Óë SCM ¹¤¾ßÕæÕýͳһÆðÀ´¡£Ïà±È֮ϣ¬Gitlab ÕâÑùµÄ¹¤¾ßÄܹ»Í¬Ê±¼æ¹ËÕâÁ½´ó¹¦ÄÜ£¬Ïû³ý²»±ØÒªµÄ¸´ÔÓÐÔÒòËØ¡£ÁíÍ⣬ÓëÄ¿Ç°µÄÏÖ´ú Web Ó¦ÓóÌÐòÏà±È£¬Jenkins Ôã¸âµÄÓû§ÌåÑé¿ÉÄÜÈúܶàÅóÓѲ»¿°ÈÌÊÜ¡£
BitBucket/Bamboo ¡ª Ë¡ÎÒÖ±ÑÔ£¬ÔÚ´ó¼Ò¿¼ÂÇʹÓÃÁ½ÖÖ¹¤¾ßÀ´Íê³É Gitlab ±¾Éí¾ÍÄÜÍê³ÉµÄÈÎÎñµÄͬʱ£¬ÕâÌ×·½°¸¾ÍÒѾÂäÈëÏ·çÁË¡£ËäÈ» BitBucket ÔÆÒѾÄܹ»Ö§³Ö Gitlab-CI/GitHub Action ¹¦ÄÜ£¬µ«»¹Ã»ÓÐÄļҳÉÊìÆóÒµ£¨³¬¹ý³õ´´¹«Ë¾µÄ¹æÄ££©Äܹ»ÇáËɽøÐв¿ÊðÓëʹÓ᣸ü¿äÕŵÄÊÇ£¬±¾µØ°æ±¾µÄ BitBucket ·þÎñÆ÷ÉõÖÁ²»Ö§³Ö BItBucket Pipelines£¡
2020 ÄêÍ·ºÅÊý¾Ý¹ÜÀí¹¤¾ß£ºFlywayDB
Web Ó¦ÓóÌÐò¿ª·¢ÖÐ×îÈÝÒ×±»ºöÊӵķ½Ãæ¾ÍÊÇÊý¾Ý¿âµÄ×Ô¶¯»¯ÐèÇó¡£ÈËÃÇÍùÍùÊÇʺó²ÅÏëÆðÐèҪΪӦÓóÌÐòµÄа汾²¿ÊðÊý¾Ý¿â schema ±ä¸ü¡£Schema ±ä¸üÍùÍù»áÌí¼Ó»òÖØÃüÃû¶à¸öÁлò±í¡£Èç¹ûÓ¦ÓóÌÐò°æ±¾Óë schema °æ±¾²»Æ¥Å䣬»¹ÓпÉÄܳ¹µ×ÆÆ»µÓ¦ÓóÌÐòµÄÕý³£ÔËÐС£×îºó£¬ÓÉÓÚ´æÔÚÁ½Ìײ»Í¬µÄϵͳ£¬Í¨¹ýÓ¦ÓóÌÐòÉý¼¶À´Ðµ÷Êý¾Ý¿â±ä¸üÒ²±È½ÏÀ§ÄÑ¡£ºÃÏûÏ¢ÊÇ£¬FlyWayDB ×Ô¼º¾Í×ãÒÔ½â¾öÒÔÉÏËùÓеÄÎÊÌâ¡£
Ö÷ÒªÓÅÊÆ
Êý¾Ý¿â°æ±¾¿ØÖÆ ¡ª FlyWay ÔÊÐíÓû§ÇáËÉ´´½¨¸÷Êý¾Ý¿â°æ±¾¡¢¸ú×ÙÊý¾Ý¿âǨÒƲ¢ÇáËÉÍê³É schema ±ä¸üµÄÇ°¹öÓë»Ø¹ö¡ª¡ªÕû¸ö¹ý³ÌÎÞÐèÅäºÏ¶¨Öƹ¹½¨½â¾ö·½°¸¡£
¶þ½øÖÆ»òÄÚÖ᪴ó¼Ò¿ÉÒÔÑ¡ÔñÔÚÓ¦ÓóÌÐòµÄÆô¶¯¹ý³ÌÖС¢»òÕßÒÔ¶þ½øÖÆ¿ÉÖ´ÐÐÎļþµÄÐÎʽÔËÐÐ Flyway¡£Óû§¿ÉÒÔÔÚ´úÂëÖÐÖ±½ÓʹÓô˹¤¾ß£¬Ê¹ÆäÔÚÆô¶¯Ê±Äܹ»¼ì²é°æ±¾¹¦Äܲ¢ÔËÐÐÊʵ±Ç¨ÒÆ£¬´Ó¶øÁîÊý¾Ý¿âÓëÓ¦ÓóÌÐòµÄ°æ±¾±£³Öͬ²½¡£µ±È»Ò²¿ÉÒÔÁÙʱÔËÐÐ cmd ÐУ¬ÔÚÎÞÐèÖؽ¨ÕûÌåÓ¦ÓóÌÐòµÄÇ°ÌáÏÂΪÏÖÓÐÊý¾Ý¿âÌṩÁ¼ºÃµÄÁé»îÐÔ¡£
Ó뾺Õù¶ÔÊֵıȽÏ
Óë FlyWay ´¦ÓÚͬһ¶¨Î»µÄ¾ºÕù¶ÔÊÖ²»Ì«¶à£¬µ«ÎÒÃÇÈÔÓбØÒª·ÖÎöË«·½µÄʵÁ¦²î¾à£º
LiquiBase ¡ª Liquibase ¸ú FlyWay ·Ç³£ÏàËÆ¡£ÊÂʵÉÏ£¬Èç¹ûÄÜÕÒµ½¾Ñé·á¸»µÄרÏÔðÈËÔ±£¬ÎÒÆäʵ¸üÇãÏòÓÚ½« LiquiBase Ñ¡¶¨Îª±ê×¼½â¾ö·½°¸¡£
Flocker ¡ª Õâ¿î¹¤¾ß¸ü¶àÇ¿µ÷¶ÔÈÝÆ÷»¯Ó¦ÓóÌÐòµÄ¹ÜÀí¡ª¡ªÏàÐźܶàÅóÓѶ¼ÓÐÇÐÉíÌå»á£¬ÔÚÈÝÆ÷µ±ÖÐÔËÐÐÊý¾Ý¿âÍùÍù·Ç³£À§ÄÑ£¬ÐèÒª¾«ÐĹ滮²ÅÄÜ´ï³ÉÄ¿±ê¡£ÎÒ½¨Òé´ó¼ÒʹÓà RDS ÕâÀàÊý¾Ý¿â·þÎñ£¬×îºÃ²»ÒªÇáËɳ¢ÊÔÔÚÈÝÆ÷Ö®ÄÚÔËÐйؼüÊý¾Ý´æ´¢¡£
ÎÒÃÇÊ×ÏÈÐèÒª½«×Ô¶¯»¯¹¤¾ßÒýÈëÕû¸ö²âÊÔ¡°½ð×ÖËþ¡±Ìåϵ£¬È»ºó²ÅÄܶÔ×Ô¶¯²âÊÔ¹¤¾ß½øÐÐÆÀ¹À¡£
Õû¸ö²âÊÔ½ð×ÖËþ·ÖΪ 4 ²ã£º
ÓÉÓÚµ¥ÔªÓë×é¼þ²ã²âÊÔµ¥´¿ÓÉÓ¦ÓóÌÐò¿ª·¢ÈËÔ±¸ºÔð£¬ÇÒͨ³£¸ù¾Ý¾ßÌå±à³ÌÓïÑÔ¶øÓÐËùÇø±ð£¬Òò´ËÕⲿ·Ö¹¤×÷²»ÔÚ DevOps µÄÌÖÂÛ·¶Î§Ö®ÄÚ¡£
2020 ÄêÍ·ºÅ¼¯³É²âÊÔ¹¤¾ß£ºCucumber
Cucumber ½«¹æ·¶Óë²âÊÔÎĵµºÏ²¢ÎªÍ³Ò»µÄ¶¯Ì¬Îļþ¡£Cucumber Äܹ»×Ô¶¯Íê³É²âÊÔ£¬Òò´ËÄܹ»±£Ö¤Óû§¹æ·¶½«Ê¼ÖÕ±£³Ö¸üС£Èç¹û´ó¼ÒÏ£Íû¹¹½¨ Web ×Ô¶¯»¯²âÊÔ¿ò¼Ü²¢ÔÚ Web Ó¦ÓóÌÐòÖ®ÉÏÄ£ÄâÓû§ÐÐΪ£¬²»·ÁÔÚÏîÄ¿µ±ÖÐʹÓôøÓÐ Java Óë Cucumber BDD µÄ Selenium WebDriver¡ª¡ªÕ⽫ÊÇÄúѧϰ²¢ÊµÏÖ Cucumber ²âÊÔ¹¦ÄܵÄÁ¼ºÃÆðµã¡£
Ö÷ÒªÓÅÊÆ
ÐÐΪÇý¶¯ÐÍ¿ª·¢£¨BDD£© ¡ª ÊÊÓÃÓÚ BDD ²âÊÔ£¬¶øÇÒÒѾ³ÉΪÕâÒ»ÁìÓòÖеÄÊ×Ñ¡²âÊÔ¿ò¼Ü£¨Ïà½ÏÓÚ´«Í³²âÊÔÇý¶¯ÐÍ¿ª·¢£©¡£
¶¯Ì¬Îļþ ¡ªÎĵµ¼Ç¼һֱÊÇÏîÁîÈËÍ·Í´µÄ¹¤×÷£¬µ«ÔÚÒÔ´úÂëÐÎʽ¶Ô²âÊÔÄÚÈݽøÐж¨ÒåÖ®ºó£¬Cucumber ²âÊÔ¿ÉÒÔ×Ô¶¯Éú³ÉÎļþÒÔÆ¥Åä²âÊÔÐèÇ󣬲¢±£Ö¤¸÷ÏîÐèÇóʼÖÕ±£³Öͬ²½¡£
Ö§³Ö ¡ªÄ¿Ç°ÊÐÃæÉÏÓжàÖÖÖ§³Ö¹¤¾ß¿É¹©Ñ¡Ôñ£¬µ«¶ÔÓÚ¹æÄ£½Ï´óµÄÑÏËàÏîÄ¿À´Ëµ£¬¹¤¾ßά»¤ÕßµÄ̬¶È½«¾ö¶¨·½°¸µÄ¿É¿¿ÐÔÓë¿É³ÖÐøÐÔ¡£Cucumber ÍŶÓÓµÓгä×ãµÄ×ʽðÓëÖ§³Ö¼Ü¹¹£¬×ãÒÔÔÚ¿ÉÔ¤¼ûµÄδÀ´±£³ÖÕâ¿î¹¤¾ßµÄ½¡¿µ·¢Õ¹¡£
Ó뾺Õù¶ÔÊֵıȽÏ
ÕâÒ»ÁìÓòÖÐÓÐ×ŶàÖÖ¿ò¼ÜÓëÃæÏòÌض¨¼¼Êõ³¡¾°µÄ¹¤¾ß£¬µ«Ö»ÓÐ Cucumber ×î½Ó½ü¡°ÆÕÊÊÐÔ¡±½â¾ö·½°¸µÄ²ã´Î¡£
2020 ÄêÍ·ºÅ¶Ëµ½¶Ë²âÊÔ¹¤¾ß
½øÐж˵½¶Ë²âÊÔʱ£¬ÎÒÃÇÐèÒªÖصã¹Ø×¢ÒÔÏÂÁ½¸öºËÐÄÎÊÌ⣺
¹¦ÄܲâÊÔ£¬¹ËÃû˼ÒåÊÇÒª²âÊÔÎÒÃÇÐèÒªµÄÒ»ÇÐÊÇ·ñ°´Ô¤ÆÚÕý³£·¢Éú¡£ÔÚµã»÷ SPA ÉϵÄijЩҳÃæ¡¢Ìîд²»¼°¸ñ²¢µ¥»÷ Submit ʱ£¬Êý¾Ý½«ÏÔʾÔÚÊý¾Ý¿âµ±ÖУ¬ÇÒÆÁÄ»ÏÔʾÌá½»³É¹¦£¡
´ËÍ⣬ÎÒÃÇ»¹ÐèÒª²âÊÔÔÚͬһ³¡¾°Ï£¬ÊýÁ¿Îª x µÄÓû§·¢³öµÄͬʱ²Ù×÷ÊÇ·ñµÃµ½ÁËÕýÈ·´¦Àí¡£
Èç¹ûȱÉÙÕâÁ½ÖÖÖØÒªµÄ²âÊÔÀàÐÍ£¬×îÖÕ CI/CD ¹ÜµÀÔËÐбíÏÖ½«³öÏÖ¾Þ´ó²îÒì¡£
¹¦ÄܲâÊÔ£ºSoapUI Pro
SoapUI ÔÚ API ²âÊÔÁìÓòÒѾӵÓÐÏ൱·á¸»µÄ»ýÀÛ£¬ÕâÖ÷ÒªÊÜÒæÓÚ SOAP Web ·þÎñµÄĬÈϵØλ¡£ËäÈ»ÎÒÃÇÒѾ²»ÔÙ¹¹½¨Ð嵀 SOAP ·þÎñ£¬µ«Õâ¿î¹¤¾ßµÄÃû³Æ²¢Î´Òò´Ë¸Ä±ä£¬ÇÒÈÔÔÚÏò×ÅÓû§µÄʵ¼ÊÐèÇ󲻶Ϸ¢Õ¹¡£SoapUI Ϊºó¶Ë Web ·þÎñµÄ×Ô¶¯»¯¹¦ÄܲâÊÔÌṩÁËÒ»ÕûÌ׳öÉ«µÄ¹¹½¨¼Ü¹¹£¬ÆäÖÐÒ»ÇÐÔªËض¼ÄÜÇáËÉÓë³ÖÐø¼¯³É¹¤¾ß½«½áºÏ£¬×÷Ϊ CI/CD ¹ÜµÀÖеÄ×é³É²¿·ÖÐͬÔËÐС£
Ö÷ÒªÓÅÊÆ
¹ã·ºµÄÎĵµ×ÊÔ´ ¡ª Õâ¿î¹¤¾ßÒѾ´æÔÚÁ˶àÄêʱ¼ä£¬Òò´Ë´ó¼Ò¿ÉÒÔÔÚÍøÉÏÇáËÉÕÒµ½ÓÃÓÚÖ¸µ¼¸ºÔزâÊÔÅäÖõÄѧϰ×ÊÔ´¡£
Ò×ÓÃÐÔ¡ª¾¡¹ÜÄ¿Ç°ÊÐÃæÉ쵀 API ²âÊÔ¹¤¾ßÓкܶ࣬µ« SoapUI ÔÚµ¥Ò»·þÎñÖÐÄÒÀ¨Á˶àÖÖ·þÎñ½Ó¿Ú£¬´Ó¶øÈòâÊÔ¹¹½¨±äµÃ¸ü¼Ó¼òµ¥¡£
Ó뾺Õù¶ÔÊֵıȽÏ
Selenium ¡ª Selenium ÊÇÁíÒ»¿îÖØÒªµÄ²âÊÔ¹¤¾ß¡£Èç¹ûÄúÕýÔÚ¹¹½¨²¢ÔËÐлùÓÚ Java ÓïÑÔµÄÓ¦ÓóÌÐò£¬ÄÇôÎÒÃÇÆäʵ¸üÍƼö Selenium¡£µ«ÊÇ£¬Èç¹ûÄúµÄËßÇóÔÚÓÚʹÓöàÖÖ¼¼Êõ´¦Àíͬһ¿îÍêÕûµÄ Web Ó¦ÓóÌÐò£¬ÄÇô Selenium ÔÚ·Ç Java ÓïÑÔÓû§ÊÖÖÐÏÔµÃÓÐЩ±¿×¾¡£
¸ºÔزâÊÔ£ºLoadRunner
ÔÚ¶ÔÓ¦ÓóÌÐòÖи÷¸ö²ãÃæ½øÐиºÔزâÊÔʱ£¬LoadRunner ±íÏÖ³öÁËÎÞ¿ÉÌæ´úµÄÈ«ÃæÓÅÊÆ¡£ËäÈ» LoadRunner ¼Û¸ñ½Ï¸ßÇÒÄÑÓÚÉÏÊÖ£¬µ«ËüÈ´ÊÇΨһÄܹ»Ä£Äâ³ö¼«¶ËѹÁ¦»·¾³¡¢²¢ÕæÕýÈü¼Êõ¼Ü¹¹Ê¦ÃǶÔдúÂ뽨Á¢Æð³ä·ÖÐÅÐĵIJâÊÔ¹¤¾ß¡£ÁíÍ⣬ÎÒÒ²¾õµÃÊÇʱºò½«¸ºÔØÔËÐм¼ÇÉ´Ó SQA ×ÊԴתÒƵ½¿ª·¢ÍŶӵ±ÖС£
Ö÷ÒªÓÅÊÆ
¹ã·ºµÄÎĵµ×ÊÔ´ ¡ª Õâ¿î¹¤¾ßÒѾ´æÔÚÁ˶àÄêʱ¼ä£¬Òò´Ë´ó¼Ò¿ÉÒÔÇáËÉÔÚÍøÉÏÕÒµ½ÓÃÓÚÖ¸µ¼¸ºÔزâÊÔÅäÖõÄѧϰ×ÊÔ´¡£
ÐÒéÖ§³Ö ¡ª ´Ó ODBC µ½ AJAX¡¢ÔÙµ½ HTTPS ÄËÖÁÓ¦ÓóÌÐòż¶ûʹÓõÄÆäËû»ÞɬÐÒ飬LoadRunner ×ÜÄÜÌṩÁ¼ºÃµÄÖ§³ÖÄÜÁ¦¡£Ïà±È֮ϣ¬ÎªÁËÐÒéÖ§³Ö¶øͬʱʹÓöàÖÖ¸ºÔزâÊÔ¹¤¾ßÖ»»áÔö¼ÓÕû¸öÁ÷³ÌµÄ¸´ÔÓÐÔ¡£
Ó뾺Õù¶ÔÊֵıȽÏ
ͬÑùµÄ£¬ÔÚ²âÊÔÊг¡Éϲ¢Ã»ÓаÙÊÔ°ÙÁéµÄ¹¤¾ß£¬Òò´ËÄܹ»²»Ì«·ÑÐĵØÒýÈ뵱ǰ»·¾³²¢Ö±½ÓʹÓõļ¼Êõ¾ÍËãÊǺü¼ÊõÁË¡£
ÔÚÓ¦ÓóÌÐò¿ª·¢µ±ÖУ¬²¿Ê𹤾ßÍùÍùÊܵ½ÈËÃǵÄÑÏÖغöÊÓ¡£µ«¶ÔÔËÓªÈËÔ±¶øÑÔ£¬Èç¹û²»ÉîÈëÁ˽âÓ¦ÓóÌÐòµÄ´úÂëÓ빦ÄÜ£¬½«ºÜÄÑ˳ÀûʹÓò¿Ê𹤾ߣ»ÔÚÁíÒ»·½Ã棬¿ª·¢ÈËÔ±Ôò¿ªÊ¼Ô½À´Ô½¶àµØ³Ðµ£Æð´úÂ벿ÊðµÄÖ°Ôð£¬Òò´ËÐèÒª¾¡¿ì»ýÀÛÔ±¾ØÑ·¦µÄ²¿Ê𹤾ßʹÓþÑé¡£
Ê×ÏÈ£¬ÎÒÃǽ«²¿Ê𹤾߷ÖΪÈý¸ö×ÓÀࣺ
2020 ÄêÍ·ºÅ¹¹¼þ¹ÜÀí¹¤¾ß£ºNexus
Nexus ¹¹¼þ´æ´¢¿âÖ§³Ö¼¸ºõËùÓеÄÖ÷Òª¼¼Êõ£¬°üÀ¨ Java¡¢NPM ÄËÖÁ Docker µÈµÈ¡£ÎÒÃÇ¿ÉÒÔʹÓÃÕâ¿î¹¤¾ßÀ´´æ´¢ËùÓеĿɲ¿Êð¹¹¼þ£¬Í¨¹ýÀ½üÈí¼þ°üÓë¹¹½¨Á÷³ÌÖ®¼äµÄ¾àÀ룬Nexus ÌṩµÄÔ¶³ÌÈí¼þ°ü¹ÜÀíÆ÷´úÀí¹¦Äܼ«´óÌáÉýÁ˳ÖÐø¼¯³ÉËٶȡ£ÕâÖÖ×÷·¨µÄÁíÒ»´óÓÅÊÆ£¬ÔÚÓÚ°ïÖúÓû§È«¾Ö²é¿´¿ç¶à¸öÈí¼þÏîĿʹÓõÄÈ«²¿Èí¼þ°ü£¬´Ó¶øËø¶¨²»°²È«µÄ¿ªÔ´Èí¼þ°ü£¬±ÜÃâÕâЩÈí¼þ°ü³ÉΪ¶ñÒâÈËÊ¿¹¥»÷´úÂëµÄÔØÌå¡£
Ö÷ÒªÓÅÊÆ
¼¼ÊõÖ§³Ö ¡ª ×Ô 2013 ÄêͶ·ÅÊг¡ÒÔÀ´£¬Nexus Ò»Ö±ÓµÓÐÎȶ¨µÄ±íÏÖ²¢µÃµ½¿ª·¢ÍŶӵÄÁ¼ºÃÖ§³Ö¡£
¿ªÔ´ ¡ª Nexus µÄÃâ·Ñ°æ²¢Ã»ÓÐÏ÷¼õ¿ª·¢ÍŶÓËùÐèÒªµÄ¸÷ÏîºËÐŦÄÜ¡£¶ø²»Í¬¸¶·ÑÑ¡ÏîÓÖ½øÒ»²½Ìṩ¸ü¶à¸½¼Ó¹¦ÄÜ£¬¿É¸ù¾Ý×éÖ¯µÄ¾ßÌå¹æÄ£ÓëÐèÇó´øÀ´¸ü´óµÄ¼ÛÖµ¡£
2020 ÄêÍ·ºÅÅäÖùÜÀí¹¤¾ß£ºAnsible
Ansible ÊÇÕâÒ»ÁìÓòÖоø¶ÔµÄÍõÕߣ¬ÀíÓɷdz£¼òµ¥£ºÎÞ״̬¡£ÔçÆÚÅäÖùÜÀí¹¤¾ß×ÅÖØÓÚ¹ÜÀíÅäÖÃ״̬£¬»»¾ä»°Ëµ£¬Èç¹ûµ±Ç°×´Ì¬ÓëËùÐèÅäÖÃ״̬²»ÔÙͬ²½£¬ÔòÐèÒª½øÐÐÐÞ¸´¡£µ«ÔÚÐÂÐÍÓ¦ÓóÌÐòµ±ÖУ¬ÎÒÃÇÃæ¶ÔµÄÊÇ´óÁ¿ÎÞ״̬×é¼þ£¬Ð°汾µÄ´úÂëÊôÓÚÐµĹ¹¼þ£¬²¢ÓÃÓÚ²¿Êð²¢Ìæ»»ÏÖÓй¹¼þ¡£Õû¸öÒµÎñÁ÷³Ì½«ÓÉÖÚ¶àÉúÃüÖÜÆÚ¶ÌÔݵļ´Ï¯»·¾³×é³É¡£
Ö÷ÒªÓÅÊÆ
ÎÞ״̬ ¡ª Ansible playbook ½«ÓɲÙ×÷»úÆ÷ÔËÐУ¬²¢Ö±½ÓÃüÖзþÎñÆ÷Ä¿±ê¡£ÎÒÃDz»ÔÚºõÔ¶³Ì¶ÔÏóµÄ״̬£¬ÕâÈÃÓû§µÃÒÔÇáËÉͨ¹ý Packer µÈ¹¤¾ß¹¹½¨³ö¿É²¿Êð¶ÔÏó¡£
¿ªÔ´ ¡ª Óë CentOS ÀàËÆ£¬Ansible ͬÑùÓɺìñ¹«Ë¾¸ºÔðά»¤¡£ºìñÔÚÒµ½çÓµÓÐÁ¼ºÃÉùÓþ£¬Æä¸ß¼¶Ö§³ÖÈËÔ±ÔÚά»¤ÉçÇø·½ÃæÓµÓзḻ¾Ñ飬²¢È·±£ Ansible ³ÖÐøÌṩ¸÷Àà¸ßÖÊÁ¿ÇÒÒ×ÓÚʹÓõÄÄ£¿é¡£
·Ö×Ó²âÊÔ¡ªÅäÖùÜÀí±¾ÉíÓëÕý³£±àд³öµÄ´úÂëÎÞÇø±ð£¬Òò´ËÈç¹û²»¶ÔÆä½øÐвâÊÔ£¬ÎÒÃǵIJâÊÔÄ¿±êÒ²½«ÎÞ´Ó̸Æð¡£ÓÃÓÚ²âÊÔ Ansible ½ÇÉ«µÄ·Ö×Ó¿ò¼ÜÄܹ»ÎÞ·ìÔË×÷£¬È·±£ÎÒÃǵIJâÊÔÅäÖÃÄܹ»ÇÐʵÂú×ã´úÂë²âÊÔµÄÐèÇó£¬ÇÒͬÑù×ñÑÓ¦ÓóÌÐò´úÂëʹÓõÄͬһ CI/CD ¹ÜµÀ¡£
YAML ¡ª ÓëÆäËû¹¤¾ßÏà±È£¬YAML µÄÈëÃÅÃż÷¸üµÍ¡£¶ÔÓÚ´ó¶àÊý¸Õ¸Õ½Ó´¥ DevOps µÄÅóÓÑÀ´Ëµ£¬ÅäÖùÜÀí¶¼ÊÇÇ°Ëùδ¼ûµÄÐÂÏÊÌåÑ飬Òò´ËÉÏÊÖÄѶÈÔ½µÍ¡¢¾ÍÔ½ÈÝÒ×±»ÈËÃÇËù½ÓÊÜ¡£
Ó뾺Õù¶ÔÊֵıȽÏ
OpsCode Chef ¡ª ÆäʵÎÒ¸öÈ赀 DevOps Ö°ÒµÉúÑľÍÊÇ´Ó OpsCode Chef Æ𲽵ġ£Ruby Óë Chef ¶¼ÊÇÎÒµÄÐÄÍ·ºÃ¡£µ«±ØÐë³ÐÈÏ£¬¶þÕ߸ù±¾Ã»ÓÐÓ¦¶Ôµ±Ç°ÎÞ״̬ÔÆÔÉúÓ¦ÓóÌÐòÎÊÌâµÄÄÜÁ¦¡£µ±È»£¬¶ÔÓÚ½ÏΪ´«Í³µÄÒÅÁôÓ¦ÓóÌÐòÀ´Ëµ£¬ÕâÈÔÊÇÒ»¿îºÜºÃµÄ¹¤¾ß£»µ«¾Í±¾ÎÄÌÖÂÛµÄÓ¦Óó¡¾°£¬ÎÒÃÇ»¹ÊǸü¶à×ÅÑÛÓÚδÀ´¡£
Puppet ¡ª Puppet һֱȱÉٳɹæÄ£µÄ¼¼ÊõÉçÇø£¬Òò´ËÔÚÖ§³ÖÄÜÁ¦·½ÃæÍêÈ«ÎÞ·¨Óë Chef ÒÔ¼° Ansible ÏàÌá²¢ÂÛ¡£Puppet ËäÈ»·Ç³£ÊʺÏÅäÖÃÓëÂã»úʹÓó¡¾°£¬µ«È´ÎÞ·¨Ö§³Ö Web Ó¦ÓóÌÐòÀàÐ͵ÄÅäÖùÜÀíÐèÇó¡£
2020 ÄêÍ·ºÅ²¿Ê𹤾ߣºTerraform
Terraform ½â¾öÁËÔÚÍøÂç×é¼þµ½Êµ¼Ê·þÎñÆ÷¾µÏñµÈ¸÷Àೡ¾°µ±ÖУ¬ÈçºÎ¶¨Òå»ù´¡ÉèÊ©¼´´úÂëÕâ¸öÎÊÌâ¡£×Ô×î³õ·¢²¼ÒÔÀ´£¬Terraform ÒѾ¾ÀúÁËÒ»¶Îʱ¼äµÄ·¢Õ¹£¬²¢½¨Á¢ÆðÅÓ´óµÄ²å¼þÉú̬ÓëÖ§³ÖÉçÇø£¬Äܹ»ÎªÓû§¿ÉÄÜÓöµ½µÄ¼¸ºõËùÓв¿Ê𳡾°ÌṩÁ¼ºÃ°ïÖú¡£Terraform ÓµÓжԱ¾µØ¡¢Ôƶ˻òÆäËûÀàÐÍÔËÐл·¾³µÄÇ¿´óÖ§³ÖÄÜÁ¦¡£×îºó£¬Æä×îа汾»¹ÔÚ HCL µ±ÖÐÌṩ¶àÖÖÓëÆäËû´«Í³±à³ÌÓïÑÔÏàͬµÄÂß¼º¯ÊýÓëÀ࣬Õâ½øÒ»²½½µµÍÁË¿ª·¢ÈËÔ±µÄÉÏÊÖÓëѧϰÄѶȡ£
Ö÷ÒªÓÅÊÆ
ÔÆ / »·¾³ÖÐÁ¢ÐÔ ¡ª Terraform Äܹ»ÔÚ Terraform ´úÂëÓë»ù´¡ÉèÊ©¹©Ó¦·½Í¨ÐÅʱËù±ØÐèµÄ API ¼°ºó¶ËÂß¼Ö®¼ä³äµ±½Ó¿Ú£¬ÕâÒâζ×ÅֻҪѧϰÕâÒ»¿î¹¤¾ß£¬¾ÍÄÜË洦ʵÏÖÆ䲿Êð¹¦ÄÜ¡£
¿ªÔ´ ¡ª ͬÑùµÄ£¬ÏàÐÅûÈËÄܶÔÃâ·ÑµÄ¹¤¾ß˵²»£¬¸üåØÂÛ Terraform »¹ÓµÓÐÁ¼ºÃµÄÖ§³ÖÉçÇø¡£
Ó뾺Õù¶ÔÊֵıȽÏ
AWS CloudFormation ¡ª ¼´Ê¹´ó¼Ò½öÔÚ AWS »·¾³Öй¤×÷£¬Ò²¿ÉÒԹ滮×Ô¼ºµÄѧϰ·Ïߣ¬¶ø²¢²»Ò»¶¨°ÑËùÓÐÏ£Íû¶¼¼ÄÍÐÔÚ AWS ·þÎñ¼Ò×åÉíÉÏ¡£ÊÂʵÉÏ£¬°ÑËùÓм¼ÄÜÓë֪ʶ¶¼·Å½øͬһ¸öÀº×ÓÖ»»áÔö¼ÓÖ°Òµ·çÏÕ¡£ÁíÍ⣬AWS µÄ²»ÉÙзþÎñÔÚÓë CloudFormation Õýʽ¶Ô½Ó֮ǰ£¬¶¼»áÒÔ Terraform Ä£¿éµÄÐÎʽ´æÔÚÒ»¶Îʱ¼ä¡£
Èκοª·¢ÏîÄ¿µÄ×îÖÕÄ¿±ê¶¼ÊÇÔÚÉú²ú»·¾³ÖÐÔËÐÐÓ¦ÓóÌÐò¡£ÔÚ DevOps ÁìÓò£¬ÎÒÃǵ±È»Ï£Íû±£Ö¤¶Ô»·¾³ÖеÄÒ»ÇÐDZÔÚÎÊÌâ±£³Ö¿É¼ûÐÔ£¬Í¬Ê±½«È˹¤¸ÉÔ¤³Ì¶È½µÖÁ×îµÍˮƽ¡£Îª´ËÔËÐÐʱ¹¤¾ß¼¯µÄÕýÈ·Ñ¡Ôñ¾Í³ÉΪÁËÁ¼ºÃ¿ª·¢Á÷³Ì±Ø²»¿ÉÉÙµÄÌõ¼þ¡£
ÔËÐÐʱ¹¤¾ß·ÖΪÒÔϼ¸¸ö×ÓÀࣺ
2020 ÄêÍ·ºÅ X ¼´·þÎñ¹¤¾ß£ºAWS
ÑÇÂíÑ·Ò»Ö±ÊÇÔƼÆËãÁìÓòµÄÁìµ¼Õߣ¬ËûÃDz»¶ÏΪ¿ª·¢ÈËÔ±Ìṩ¸ü¶àеķþÎñÑ¡Ï±£³ÖÕû¸öÌåϵµÄг´úл¡£Èç½ñ£¬ÎÒÃÇ¿ÉÒÔ½«¼¸ºõÒ»Çм¼Êõ¼°Ä£Ê½ÒýÈë AWS£¬½ø¶øÍê³É¹¹½¨ÓëÔËÐй¤×÷¡£ÓëÔÚ×ÔÓÐÊý¾ÝÖÐÐÄÄÚ¹¹½¨¡¢¹ÜÀí¼°Î¬»¤´«Í³Ó²¼þÏà±È£¬ÔÆ·þÎñģʽµÄ³É±¾¸üΪºÏÀí¡£Ãâ·Ñ·þÎñ²ãÈÃÿ¸öÈ˶¼Óлú»áÔÚʵ¼Ê¹ºÂò֮ǰÏÈÌåÑéʹÓøÐÊÜ£¬²¢¿ìËÙÃþË÷³ö¹¹½¨Ó¦ÓóÌÐòµÄÕýȷ;¾¶¡£¸üÖØÒªµÄ£¬°ÚÍÑÁË×ÔÖ÷²É¹ºµÄѹÁ¦£¬°ÚÍÑÁËÒÔÍùÒòÔ¤ËãÓÐÏÞ¶ø±»ÆÈ×ö³öµÄÖÖÖÖÍ×С£
Ö÷ÒªÓÅÊÆ
ÐÐÒµ±ê×¼ ¡ª Èç¹û´ó¼ÒÔø¾ÔÚ AWS µ±Öй¹½¨¹ýÓ¦ÓóÌÐò£¬ÄÇôÏà¹Ø¹¤×÷¾Ñé×ãÒÔÖ§³ÅÄúÔÚÈκÎÐÐÒµÕÒµ½Á¢×ãÖ®µØ¡£
Ãâ·Ñ²ã ¡ª ?AWS ×îÍ»³öµÄÌØÉ«ÔÚÓÚËûÃÇÔÚÒµÎñ²ãÃæ´Ó²»·¸´í¡£ËûÃÇÔÊÐíÓû§ÊÔÓ÷þÎñ²¢Á˽âÆ乤×÷ÔÀí£¬È»ºóÔÙ¾ö¶¨ÊÇ·ñͶÈë×ʽðÀ´ÅúÁ¿Ê¹ÓÃËûÃÇÌṩµÄ½â¾ö·½°¸¡£ÕâÖÖ¡°Ïȳ¢ºóÂò¡±µÄÐÎʽ·Ç³£¿Æѧ£¬ÎÒ×Ô¼º¾Í´ÓÀ´Ã»ÓÐóȻ¹ºÂò¹ýδ¾¹ý¸ÅÄîÑéÖ¤µÄ AWS ²úÆ·¡£
Ó뾺Õù¶ÔÊֵıȽÏ
Heroku ¡ª ¼ò¶øÑÔÖ®£¬³ýÁ˸öÈËÏîÄ¿Ö®Í⣬ÎÒÓÀÔ¶²»»á°Ñ Heroku ÓÃÔÚÑÏËàµÄ¿ª·¢»·¾³µ±ÖС£ËüµÄ͸Ã÷¶ÈʵÔÚÓÐÏÞ£¬ÆóҵûÓÐÀíÓÉÑ¡ÔñÕâÑùÒ»Ì×ƽ̨¡£³ýÁ˲©Îĵ±ÖнøÐмòµ¥ÑÝʾ֮Í⣬ÎҾܾø¶Ô Heroku ½øÐÐÈκÎʵ¼Ê²ãÃæµÄÓ¦Óᣲ»Óã¬Ð»Ð»£¡
2020 ÄêÍ·ºÅ±àÅŹ¤¾ß£ºOpenShift
´ó¼Ò¿ÉÄÜÒѾÔÚ×Ô¼ºµÄÓ¦ÓóÌÐò¶ÑÕ»µ±ÖÐʹÓÃÁË Docker »òÕßÈÝÆ÷¼¼Êõ¡£ÎÞ·þÎñÆ÷Ó¦ÓóÌÐòºÜ°ô£¬µ«ÏÔÈ»²»¿ÉÄÜÊʺÏËùÓеļܹ¹Ä£Ê½¡£ÀýÈ磬ÔÚûÓÐÒµÎñÁ÷³Ìƽ̨µÄÇé¿öÏ£¬ÎÒÃǸù±¾¾Íû°ì·¨Ê¹ÓÃÈÝÆ÷¡£¶ø´Ó°¸ÀýÐÔÓ빤¾ß·á¸»¶ÈµÄ½Ç¶ÈÀ´¿´£¬Core Kubernetes µÄÏÞÖÆÒòËØÒ²±È½Ï¶à¡£OpenShift ÊÇĿǰΨһÌṩ Kubernetes ƽ̨µÄ·þÎñ·½°¸£¬ÆäÖаüº¬ Source2Image ¹¹½¨¡¢pod ÄÚ×Ô¶¯»¯²¿ÊðÄËÖÁ¿É»ØËÝÐÔÓë¼à¿Ø¹¦ÄÜ¡£¸üÖØÒªµÄÊÇ£¬ËüÄܹ»ÔÚ±¾µØ¡¢ÔƶËÄËÖÁ¶þÕß¼æÓеÄÇé¿öÏÂÔËÐС£
Ö÷ÒªÓÅÊÆ
ÄÚÖð²È«±£ÕÏ ¡ª K8s °²È«ÐÔºÜÄѹÜÀí£¬ÉõÖÁ¿ÉÄÜÐèÒª¾ß±¸ÏàÓ¦²©Ê¿Ñ§Î»µÄ¼¼ÊõÈËÀ´¹ÜÀí¡£¶øÔÚĬÈÏÇé¿öÏ£¬OpenShift Ëù²ÉÓõݲȫ»úÖÆÄܹ»¼«´ó¼õÉÙ¿ª·¢ÈËÔ±µÄ¹¤×÷Á¿£¬²¢ÎªËûÃǵÄÓ¦ÓóÌÐòÌṩ¸ü¼Ó°²È«µÄƽ̨¡£
¶àºÏÒ»½â¾ö·½°¸ ¡ª ÓëĬÈϲ»°üº¬¸ºÔؾùºâ¹¤¾ßµÄÔʼ°æ K8s ²»Í¬£¬OpenShift ÌṩËùÓбØÒª¹¦ÄÜ¡£ÎÒ¿ÉÒÔʹÓÃËüÍйÜ×Ô¼ºµÄÈÝÆ÷¡¢¹¹½¨ÈÝÆ÷¡¢ÔËÐÐ CI/CD ¹¤¾ß¡¢Ðµ÷ÍⲿÁ÷³Ì¡¢¹ÜÀí secrets µÈµÈ¡£¾¡¹ÜÄ¿Ç°µÄ GUI »¹²»¹»ÍêÉÆ£¬µ« API ÓÅÏȵķ½·¨Òâζ×ÅËùÓÐÄÚÈݶ¼Äܹ»ÒԽű¾ÐÎʽʵÏÖ£»¶øÇÒÓëÆäËû K8s GUI ²»Í¬µÄÊÇ£¬OpenShift ʹµÃ Kubernetes µÄ»ù´¡ÖªÊ¶Ñ§Ï°¹ý³Ì±äµÃ¸üΪ¼òµ¥¡£²»Óò©Ê¿Ñ§Î»ÁË£¬´ó¼Ò»¶ºôÆðÀ´£¡
Ó뾺Õù¶ÔÊֵıȽÏ
Docker Swarm ¡ª Docker swarm µÄ±¾ÒâÊÇɾ³ý´óÁ¿ÄÚÈÝÒÔ¼ò»¯ K8s Ìåϵ¡£ËäÈ»ËüÔÚÌåÁ¿½ÏСµÄÓ¦ÓóÌÐòÖÐЧ¹û²»´í£¬µ«¶ÔÓÚÆóÒµ¼¶Ó¦ÓóÌÐòÔò¸ù±¾²»Æð×÷ÓᣴËÍ⣬AWS ECS µÈ·þÎñÒ²ÌṩÀàËƵķ½·¨£¬ÇÒÄܹ»ÇÐʵ½µµÍÓëÆäËû·þÎñ£¨Lambda¡¢IAM µÈ£©Ö®¼äµÄ½»»¥ÄѶȡ£
2020 ÄêÍ·ºÅ¼à¿Ø¹¤¾ß£ºNew Relic
New Relic µÄÔçÆÚ·¢ÐаæȷʵÔÚ APM ¼à¿Ø·½Ãæ´øÀ´ÁËÁ¼ºÃµÄ±íÏÖ¡£Èç½ñ£¬ËüÒѾ·¢Õ¹³ÉÒ»Ì×ÍêÉƵļà¿Ø¹¤¾ß£¬ÔÊÐíÓû§ÇáËɼà¿Ø·þÎñÆ÷ÐÔÄÜ¡¢ÈÝÆ÷ÐÔÄÜ¡¢Êý¾Ý¿âÐÔÄÜ¡¢×îÖÕÓû§ÌåÑéÒÔ¼° APM µÈµÈ¡£
Ö÷ÒªÓÅÊÆ
Ò×ÓÚʹÓà ¡ª ×÷ΪÔø¾µÄϵͳ¹¤³Ìʦ£¬ÎÒʹÓùý²»ÉÙ¼à¿Ø¹¤¾ß£¬µ«Ã»ÓÐÒ»¿îÄܹ»ÔÚÒ×ÓÃÐÔ·½ÃæÓë New Relic ±È¼ç¡£ÕâÊÇÒ»Ïî SaaS ·þÎñ£¬Óû§ÎÞÐèÉèÖÃÈκηþÎñÆ÷×é¼þ¼´¿ÉÖ±½ÓʹÓá£
¶Ëµ½¶Ë¿É¼ûÐÔ ¡ª ÆäËû¹¤¾ßÍùÍùÖ»¹Ø×¢Ó¦ÓóÌÐòÖÐij¸öÌض¨²ãÃæµÄ¼à¿Ø¡£µ«ÎÞÂÛÇ¿µ÷ CPU ÀûÓÃÂÊ»¹ÊÇÍøÂçÁ÷Á¿£¬ÕâЩԪËض¼±ØÐëÐͬÔË×÷²ÅÄÜÈÃÓ¦ÓóÌÐò±£³ÖÕý³£ÔËÐС£New Relic ÔòÔÊÐíÓû§½«ËùÓÐÊý¾Ý×éºÏÆðÀ´£¬Á˽âÓ¦ÓóÌÐòÖÐÕæʵ·¢ÉúµÄÒ»ÇС£
Ó뾺Õù¶ÔÊֵıȽÏ
Zabbix¡ª Zabbix ÊÇÎÒ×îÔçʹÓùý¡¢¶øÇҷdz£Ï²°®µÄÒ»¿î¼à¿Ø¹¤¾ß¡£µ«ÓÉÓÚȱ·¦¶ÔÔÆÔÉú»·¾³¼° APM ·½ÏòµÄÖ§³ÖÓë·¢Õ¹¹æ»®£¬Ä¿Ç°ËüµÄˮƽÒѾÏà¶ÔÖͺ󡣳ÏÈ»£¬ËüÈÔÄܹ»ºÜºÃµØ¼à¿Ø´«Í³·þÎñÆ÷»ù´¡ÉèÊ©£¬µ«Ò²¾Í½ö´Ë¶øÒÑÁË¡£
DataDog ¡ª Õâ¿î¹¤¾ß¹ý·Ö²àÖØÓÚ¹ÜÀíÉú²úÓ¦ÓóÌÐòµÄÁ÷³Ì£¬¶ø¶Ô´úÂë±¾ÉíµÄ¹Ø×¢¶È²»×ã¡£ÔÚÕæÕýµÄ DevOps ÍŶӵ±ÖУ¬¿ª·¢ÈËÔ±Ò²ÐèÒªÉî¶È²ÎÓëÉú²ú£¬Òò´ËÎÒÃDz¢²»ÐèÒªÕâÑùÒ»Ì×µ¥´¿Ç¿µ÷Á÷³Ì¼à¿ØµÄ½â¾ö·½°¸¡£
2020 ÄêÍ·ºÅÈÕÖ¾¼Ç¼¹¤¾ß£ºSplunk
Splunk ͬÑùÓÐ×ÅÁîÈËÄÑÒԾܾøµÄ÷ÈÁ¦¡£³¤ÆÚÒÔÀ´£¬Splunk Ò»Ö±ÊÇÈÕÖ¾¾ÛºÏÁìÓòµÄÁìµ¼Õߣ¬Í¬Ê±Ò²ÔÚŬÁ¦Î¬³Ö×Ô¼ºµÄͳÖεØλ¡£½èÖú±¾µØÓë SaaS ²úÆ·°æ±¾£¬Óû§ÒѾÄܹ»ËæʱËæµØÏíÊÜÓÉËü´øÀ´µÄ±ãÀû¡£µ« Splunk Ò²²»ÊÇûÓÐȱµã¡ª¡ªËüÄÑÒÔÔËÐеÄÀÏ벡µ½ÏÖÔÚҲûÄܸùÖΡ£
Ö÷ÒªÓÅÊÆ
ÐÐÒµ±ê×¼¡ª Æóҵϲ»¶ Splunk£¬Ò²ÓµÓгä×ãµÄ²ÆÁ¦Ê¹ÓÃÕâÌ×½â¾ö·½°¸¡£ËäÈ»³õ´´ÆóÒµÍùÍùÄÑÒÔÖ¤Ã÷ Splunk µÄ³É±¾ºÏÀíÐÔ£¬µ«ÆäÖеIJ»ÉÙ¸ÅÄîÓ빦ÄÜÒѾÔÚ¿ªÔ´Ìæ´ú·½°¸ÖÐʵÏÖÁË¡£
Ö§³ÖЧ¹û¡ª ¼òµ¥À´Ëµ£¬Splunk ÄÜÓᢶøÇÒЧ¹û²»´í¡£ÆäÖÐÌṩ¶àÖÖĬÈϵÄÉèÖÃÓë¼´ÓÃÐ͹¦ÄÜ£¬´ó¼ÒÎÞÐèͶÈë´óÁ¿Ê±¼äÔĶÁÎĵµ»òÕß·´¸´ÊÔ´í£¬¼´¿ÉÈà Splunk ·¢»ÓÆäÓ¦ÓеÄ×÷Óá£
Ó뾺Õù¶ÔÊֵıȽÏ
ELK Stack ¡ª ElasticSearch¡¢LogStash ÒÔ¼° Kibana Ëƺõ¶¼Í¦¿áµÄ£¬±Ï¾¹ËüÃDz»»áÏòÓû§ÊÕÈ¡ÈκηÑÓ㻵«Ëæ×ÅÈÕÖ¾¼¯µÄÔö³¤ÓëÓ¦ÓóÌÐòÊýÁ¿µÄÌáÉý£¬ÎÒÃÇÔ½À´Ô½ÄÑÒÔÒÀ¿¿ÄÚÖù¤¾ßά»¤ÕâЩÈÕÖ¾¼Ç¼·½°¸¡£Óë Splunk Ïà±È£¬ÕâÀ๤¾ßÓÀÔ¶ÒªºÄÈ¥¸ü¶àѧϰºÍÉÏÊÖµÄʱ¼ä£¬Ö®ºó²ÅÄܹ¹½¨ÆðÕý³£¿ÉÓõÄÒDZí°å¡£
DevOps µÄµÚÒ»²½¾ÍÊÇÔÚ×éÖ¯ÄÚ²¿ÏÆÆðÒ»²¨ÎÄ»¯±ä¸ï¡£ËäÈ»ÍâÀ´¹¤¾ß²»¿ÉÄÜÔÚÒ»Ò¹Ö®¼ä¸Ä±äÎÄ»¯´«Í³£¬µ«È´Äܹ»°ïÖúÎÒÃÇÅàÑøÆðÓëͬÊÂÐ×÷µÄз½·¨¡£
Ð×÷¹¤¾ß·ÖΪÒÔϼ¸¸ö×ÓÀࣺ
2020 ÄêÍ·ºÅÎÊÌâ¸ú×Ù¹¤¾ß£ºJira
¾¡¹ÜÕâÒ»ÁìÓòµÄ¾ºÕù±äµÃÈÕÒ漤ÁÒ£¬µ« Jira ÈÔÈ»ÎÈ×øÍ·°Ñ½»ÒΡ£Jira ÄÚÖõÄÇ¿´óÁé»îÐÔ×ãÒÔ°ïÖú¿ª·¢ÍŶÓÓëÔËÓªÍŶÓÇáËɹÜÀíÏîÄ¿ÖеÄÈÕ³£¹¤×÷Óë³å´ÌÈÎÎñ¡£ÁíÍ⣬ÄÚÖõıê×¼Ãô½ÝÊõÓïÒ²ÓÐÖúÓÚÆóÒµÖð²½Íê³ÉÓÉ´«Í³¹¤×÷·½·¨µ½¾«×¼Á÷³ÌÎÄ»¯µÄת±ä¡£
Ö÷ÒªÓÅÊÆ
ÐÐÒµ±ê×¼¡ªÓë֮ǰÌáµ½µÄ¶àÖÖÆäËû¹¤¾ßÒ»Ñù£¬Jira µÄÓ¦Ó÷¶Î§¼«¹ã¡£Ð¡ÐÍÍŶӿÉÒÔʹÓü۸ñµÍÁ®µÄÐí¿É²¢»ñµÃ±ØÒª¹¦ÄÜ£¬¶ø´óÐÍÆóÒµÒ²»áÔÚ¹ºÂòÐí¿ÉÖ®ºó»ñµÃÎïÓÐËùÖµµÄÌåÑé¡£
¼¯³É¡ª ÔÚÕâÒ»ÁìÓò´¦ÓÚÁìÏȵØλ²¢¿ìËÙÔö³¤£¬Òâζ×ÅÆäËûµÚÈý·½¹¤¾ßÒ²»áÓÅÏÈÑ¡Ôñ Jira ¹¹½¨±¾»ú¼¯³É£¬´Ó¶ø½øÒ»²½Ôö¼Ó Jira µÄ¼ÛÖµ¡£ÎÒÃÇ¿ÉÒÔ´ÓÏÖ³ÉÁбíÖÐÌôÑ¡ÐèÒªµÄ¼¯³É¹¤¾ßÑ¡ÏÕû¸ö¹ý³ÌÒ»ÆøºÇ³É¡¢ÍêÈ«ÎÞÐèÈκÎÌرð¶¨ÖÆ¡£
Ó뾺Õù¶ÔÊֵıȽÏ
Trello¡ª ×÷Ϊһ¿îÃâ·ÑʹÓõĿ´°å¹¤¾ß£¬Trello ͬÑùѸËÙ»ýÀÛÆð¿É¹ÛµÄÈËÆø¡£µ«Ëæ×ÅÒµÎñ¹æÄ£µÄÀ©Õ¹£¬ÐèÒª¸ú×ÙµÄÎÊÌâÒ²ÓÉÊýÊ®¸öÔö³¤ÖÁÊýǧ¸ö£¬Õâʱ Trello ÄÑÒÔµ¼º½¡¢ËÑË÷Ó뱨¸æµÄ¶Ì°å¾Í¿ªÊ¼±©Â¶³öÀ´¡£
Pivotal Tracker¡ª ÔÚ³õ´´ÆóÒµ¹¤×÷Æڼ䣬ÎÒÆäʵ·Ç³£Ï²»¶Õâ¿î¹¤¾ß¡£µ«Ëü¸ü¶à¹Ø×¢²úÆ·¹ÜÀí£¬¶ø·Ç¼¼ÊõÈÎÎñ¡£Ïà±È֮ϣ¬Jira µÄ²úÆ·¹ÜÀí¹¦ÄÜÒ²±È½ÏÄÑÉÏÊÖ£¬µ«ÖÁÉÙ¿ÉÓöøÇÒ×ãÒÔÌæ´úÆäËû¶ÀÁ¢µÄ²úÆ·¹ÜÀí¹¤¾ß¡£
2020 ÄêÍ·ºÅCHatOps ¹¤¾ß£ºMatterMost
Õâ¿ÉÄÜÊÇÕâ·Ý°ñµ¥ÖÐ×îÈÃÎÒ¾ªÏ²µÄÉÏ°ñ³ÉÔ±£¬MatterMost ¼Ì³ÐÁËÒÔÍùÓÅÐ㹤¾ßµÄÌØÐÔ£¬Í¬Ê±ÒýÈë±¾µØ²¿ÊðÖ§³ÖÒÔÀ©´ó×ÔÉíÆÕ¼°·¶Î§¡£¶ÔÓÚÆóÒµ¶øÑÔ£¬ÕâÒ»µã·Ç³£ÖØÒª£¬ÒòΪËü²»½öÄܹ»¿ØÖÆÊý¾Ý¡¢»¹¿ÉÒÔ°ïÖúÓû§Óë±¾µØ¹¤¾ßÏ༯³É¡ª¡ª»»ÑÔÖ®£¬ÎÒÃDz»±ØΪÁËÒýÈëй¦Äܶø±»ÆÈ¿ç³ö·À»ðǽ¡£
Ö÷ÒªÓÅÊÆ
¿ªÔ´¡ª MatterMost µÄ¿ªÔ´°æ±¾·Ç³£ÊʺÏСÐÍ»òÕß´óÐÍÍŶӡ£Óë Slack Ãâ·Ñ°æ»á¶ªÊ§ÀúÊ·¼Ç¼µÄÇé¿ö²»Í¬£¬MatterMost ÔÊÐíÓû§ÔËÐÐ×ÔÓзþÎñÆ÷£¬Òò´ËËùÓÐÊý¾ÝÒ²¶¼½«±£´æÔÚ±¾µØλÖá£
¼¯³É¡ª MatterMost µÄ API ¼¸ºõ 100% »ùÓÚ Slack API£¬Òò´Ë Slack Éú̬Öеļ¸ºõËùÓм¯³É¶¼Äܹ»ÎÞ·ì¶Ô½Ó MatterMost¡£
Ó뾺Õù¶ÔÊֵıȽÏ
Slack¡ª Slack ºÜ°ô£¬µ«ÏîÄ¿µÄÌåÁ¿ÒѾ¹ýÓÚÅÓ´ó£¬ÐèÒªÈÏÕ濼ÂÇÓ¯ÀûÎÊÌâ¡£¿ÉÒÔÔ¤¼û£¬Slack ½«ºÜ¿ìÍƳöÈ«Ã渶·ÑÕþ²ß£¬²¢ÔÚÃâ·Ñ°æ±¾µ±ÖÐÑ˸îµô´óÁ¿¼«¾ß¼ÛÖµµÄ¹¦ÄÜ¡ª¡ª×îÖØÒªµÄµ±È»ÊDZ£´æÁÄÌì¼Ç¼¹¦ÄÜ¡£
Microsoft Teams¡ª ´ó¼Ò¿ÉÒÔ³¢ÊÔ°Ñ΢Èí²úÆ·Óë·Ç΢Èí±¾µØ²úÆ·¼¯³Éһϡª¡ª×£¸÷λºÃÔË£¡ÎÒҪ˵µÄ¾ÍÕâô¶à¡£
2020 ÄêÍ·ºÅÎĵµ¹¤¾ß£ºConfluence
ÎÞÂÛʹÓÃÄÄÖÖ¹¤¾ß£¬ÎÒÃǶ¼ºÜÄÑ´´½¨²¢Î¬»¤¸ßÖÊÁ¿µÄ¼¼ÊõÎĵµ¡£¾¡¹Ü×î½üÊÐÃæÉϳöÏÖÁ˲»ÉÙ SaaS Îĵµ¹¤¾ß£¬µ«ÎÒ»¹ÊǺÜÄѽÓÊܰѹØÓڹؼüÓ¦ÓóÌÐòºËÐļ¼ÊõµÄÃô¸ÐÎĵµ´æ´¢ÔÚµÚÈý·½Æ½Ì¨µ±ÖС£Ã»´í£¬ÎÒ»¹ÊÇÏë°ÑÊý¾ÝºÍÎĵµ±£´æÔÚ±¾µØ£¬¶ø Conluence ÕýºÃ½â¾öÁËÎÒµÄÕâ¸öÍ´µã¡£
Ö÷ÒªÓÅÊÆ
Ò×ÓÚ¹ÜÀí¡ª´ó¶àÊý×ÔÍйܹ¤¾ßÔÚÆô¶¯ÓëÔËÐн׶ζ¼¾ßÓÐÒ»¶¨µÄ¸´ÔÓÐÔ£¬¶øÇÒÔÚ¹æÄ£»¯Î¬»¤³¡¾°Ï»á¶Ôרҵ¼¼ÄÜÌá³öÒªÇó¡£Conluence ·þÎñÆ÷ÔÚÕâ·½Ãæ±íÏÖ²»´í£¬Äܹ»ÒÔ¿ªÏä¼´Óõķ½Ê½Ö§³Ö 10 µ½ 10000 ÃûÓû§¡£
²å¼þ¡ª Confluence ĬÈÏ´´½¨³öµÄÃÀ¹Û¡¢Ò×ÓÚä¯ÀÀ¡¢¿Éµ¼º½ÎĵµÒѾ×ãÒÔÁîÈËÂúÒ⣬¶ø·á¸»¶à²ÊµÄ²å¼þÑ¡Ïî¸üÊǽ« Wiki µÄDZÁ¦·¢»Óµ½Á˼«Ö¡£
Ó뾺Õù¶ÔÊֵıȽÏ
Read the docs¡ª ºÜ°ôµÄ¿ªÔ´ÏîÄ¿£¬µ«ÎÒÍêÈ«²»»á¿¼ÂÇÔÚÕâÀï´æ´¢Óë¹Ø¼üÓ¦ÓóÌÐòÏà¹ØµÄÃô¸ÐÐÅÏ¢¡£
MarkDown¡ª Õâ¿î¹¤¾ßÌرðÊʺϼǼÓë´úÂëÏà¹ØµÄÄÚÈÝ£¬µ«ÎÒÃǺÜÄѽ«¼Ü¹¹¡¢¹ý³Ì»òÕßÆäËûÀàÐ͵ÄÎĵµÖ±½Ó±£´æΪ MarkDown ¸ñʽ¡£
Jekyll¡ª ÔڼǼ¼¼ÊõÐÅϢʱ£¬ÎÒ²¢²»Ïë¼òµ¥¹¹½¨Ò»¸ö¾²Ì¬Õ¾µã²¢ÔÚÿ´Î¸üÐÂʱµ÷ÕûÆäÖеÄÄÚÈÝ¡£Confluence Ìṩ¼òµ¥Ò×Óõİ汾¹ÜÀíϵͳ£¬¼«´ó½µµÍÁËÄÚ²¿ÎĵµµÄ¹ÜÀíÄѶȡ£
ʱÖÁ½ñÈÕ£¬Êг¡ÉÏÌṩ¶à´ïÊý°ÙÖÖ DevOps ¹¤¾ß£¬¸Õ¸Õ½Ó´¥µÄÅóÓÑ¿ÉÄÜÄÑÒÔŪÇåËüÃǵ½µ×ÊǸÉÂïÓõġ¢ÔÚÌض¨³¡¾°Ï¾ßÌå¸ÃÈçºÎÑ¡Ôñ¡£Ï£Íû½ñÌìÕâ·Ý¼òµ¥µÄÖ¸ÄÏ£¬Äܹ»°ïÖú´ó¼ÒÃ÷È·×Ô¼ºµÄ DevOps ¹¤¾ß¶ÑÕ»ÐèÇ󣬲¢¿ìËÙ½¨Á¢ÆðÍêÕûµÄ CI/CD ¹ÜµÀ¡£
×îºóÈÃÎÒÃÇÒÔÒ»¾ä¹²Ãã×÷½á£ºÄÜ×Ô¶¯»¯£¬¾Í×Ô¶¯»¯£¡
ÁìȡרÊô 10ÔªÎÞÃż÷ȯ
˽Ïí×îР¼¼Êõ¸É»õ