±à¼ÍƼö: |
±¾ÎĽéÉÜÁËÈí¼þÖÊÁ¿±£ÕÏÁ÷³Ì¡¢¼¯³É²âÊÔ¡¢²âÊÔ»·¾³¹ÜÀí¡¢³ÖÐø¼¯³É¡¢²âÊÔÓÃÀý¹ÜÀí¡¢È±ÏݹÜÀí¡¢
·¢²¼ºó¹ÜÀíµÈÏà¹ØÄÚÈÝ¡£
±¾ÎÄÀ´×ÔÓÚ²©¿ÍÔ°£¬ÓÉ»ðÁú¹ûLuca±à¼ÍƼö¡£ |
|
Ò». Èí¼þÖÊÁ¿±£ÕÏÁ÷³Ì
1.1 ΢·þÎñ²úÆ·µÄÌØµã
΢·þÎñ¼Ü¹¹Ï£¬Ò»¸ö´óÐ͸´ÔÓÈí¼þϵͳ²»ÔÙÊÇÒ»¸öµ¥Ì壬¶øÊÇһϵÁÐÏ໥¶ÀÁ¢µÄ΢·þÎñ£¬ÌصãÏÊÃ÷£º
ÿ¸ö·þÎñ¶ÀÁ¢£¬¿ª·¢¼¼ÊõÕ»¶ÀÁ¢
ÿ¸ö·þÎñ¿ÉÒÔ¶ÀÁ¢¿ª·¢¡¢²¿Êð¡¢·¢²¼
·þÎñÖ®¼äͨ¹ýÇáÁ¿¼¶Í¨ÐÅ»úÖÆ¹µÍ¨£¬³£ÓõÄÊÇ RESTful API

Micro Services
1.2 ΢·þÎñ²úÆ·²âÊÔµÄÍ´µã
ÓÉÓÚÿ¸ö·þÎñ¶¼ÓжÔÍⱩ¶µÄ½Ó¿Ú£¬¶øÇÒ·þÎñÖ®¼ä»¹¿ÉÄÜ»¥ÏàÒÀÀµ£¬Ö±½Óµ¼Ö£º
½Ó¿ÚÊýÁ¿·±¶Ôö³¤
²âÊÔ³¡¾°·±¶Ôö³¤
ÕâʹµÃÔÚÃô½Ý½»¸¶µÄģʽÏ£¬²âÊÔ¹¤×÷ÌôÕ½¾Þ´ó¡£ÈçºÎÄÜÔÚ¡¸ÖÜ¡¹¡¸Ì졹ÉõÖÁ¡¸Ð¡Ê±¡¹µÄ·¢²¼ÖÜÆÚÏ£¬½øÐиßЧµÄ²âÊÔ£¬ÊÇ΢·þÎñ¼Ü¹¹²úÆ·µÄ²âÊÔÖг£³£Ë¼¿¼µÄÎÊÌâ¡£
1.3 Èí¼þÖÊÁ¿±£ÕÏÈ«Á÷³Ì
1.3.1 ½ÇÉ«
ÔÚ²úÆ·µÄ·¢²¼ÖÜÆÚÖУ¬ËùÓнÇÉ«µÄÁªÏµÏ൱½ôÃÜ¡£Ã¿¸ö½ÇÉ«ÓÐ×Ô¼º²»Í¬µÄÖ°Ô𣬵«×îÖÕ¶¼ÊÇΪ²úÆ·ÖÊÁ¿¸ºÔð¡£
²úÆ·¾Àí ¡ª¡ª ¹ÜÀíÐèÇóºÍÏîÄ¿¼Æ»®
Ñз¢ ¡ª¡ª ÏîÄ¿ÈÎÎñ¿ª·¢¹¤×÷
Ñз¢¸ºÔðÈË ¡ª¡ª Ñз¢ÍŶӹÜÀí¼°´úÂëÖÊÁ¿¹Ü¿Ø
²âÊÔ ¡ª¡ª Èí¼þÖÊÁ¿±£ÕÏ
ÔËά ¡ª¡ª Ó¦Óò¿ÊðºÍÔËÐйÜÀí
³ýÁ˰´ÕÕ¡¸ÐèÇó->±àÂë->²âÊÔ¡ú·¢²¼¡¹³£¹æµÄ˳Ðò½»Á÷Í⣬²»Í¬½Çɫ֮¼äÒ²ËæÊ±½»Á÷ÐÅÏ¢¡£

DevOps Team
1.3.2 DevOps
ÎÞÂÛÊÇÍⲿÐèÇ󣬻¹ÊÇÄÚ²¿·´À¡£¬¶¼»á±»Ò»Ò»¼Ç¼£¬¹©ÏÂÒ»ÂÖµü´úÆÀÉó¡£Ã¿Ò»´Îµü´úÖ®Öаüº¬×ÅÎÞÊý¾Ö²¿µü´ú£¬ÓÉ´ó¼ÒÒ»ÆðÆÀÉóÐèÇó±ä¸üºÍ³Ðŵ½»¸¶¡£

DevOps Loop
1.3.3 ÂäµØÈ«Á÷³Ì
Õû¸ö²úÆ·ÖÊÁ¿±£ÕÏÈ«Á÷³Ì´ÓÐèÇó¿ªÊ¼£¬Ò»Ö±µ½½»¸¶ÉÏÏߣ¬È«Á÷³ÌÈçÏ£º
ÐèÇóÆÀÉó ¡ú ±àÂë ¡ú µ¥Ôª²âÊÔ ¡ú ´úÂëɨÃè ¡ú ¹¹½¨¾µÏñ ¡ú ²¿Êð²âÊÔ»·¾³ ¡ú ½Ó¿Ú×Ô¶¯»¯²âÊÔ
¡ú ¶Ëµ½¶Ë×Ô¶¯»¯²âÊÔ ¡ú Ìá²â ¡ú ÊÖ¶¯²âÊÔ ¡ú ·¢²¼ ¡ú ÉÏÏß
ÀûÓà Jenkins ¶Ô½Ó JIRA¡¢Git¡¢SonarQube¡¢Registry µÈ¸÷ÖÖ¹¤¾ßʵÏÖ
CI/CD£¬Èù¤³Ìʦ²»ÔÙ°Ñʱ¼äºÍ¾«Á¦»¨·ÑÔÚ¹¹½¨¡¢²âÊÔ»·¾³´î½¨ºÍ×Ô¶¯»¯²âÊÔÖ´ÐÐÕâÐ©ÖØ¸´ÐÔ²Ù×÷ÉÏ¡£

Process
ͨ¹ýÌá½»´úÂë×Ô¶¯´¥·¢Á÷Ë®Ïߣ¬½øÐе¥Ôª²âÊÔ£¬È»ºóͨ¹ý Sonar-Scan ½øÐо²Ì¬´úÂëɨÃ裬´ïµ½ÒªÇóºó»á¹¹½¨ÈÝÆ÷¾µÏñ£¬¹¹½¨Íê³É»á×Ô¶¯²¿Êð²âÊÔ»·¾³£¬²¢´¥·¢×Ô¶¯»¯²âÊÔ£¬²âÊÔͨ¹ýºó¼´¿É´òÉϱêÇ©½øÐÐÕýʽÌá²â£¬ÔÚ´Ë֮ǰµÄ½×¶Î¶¼ÊÇͨ¹ý×Ô¶¯´¥·¢£¬¹¤³ÌʦֻҪ°ÑÖ÷Òª¾«Á¦¾ù·ÅÔÚ½á¹ûÉÏ£¬´ý²âÊÔÑéÖ¤·ûºÏÒªÇóºó£¬¾µÏñ²Å»á×îÖÕ·¢²¼²¢ÉÏÏß¡£
¶þ. ¼¯³É²âÊÔ
2.1 ½Ó¿Ú
½Ó¿Ú²âÊÔͨ³£·ÖÈý²½×ߣº
×¼±¸²âÊÔÊý¾Ý ¡ú ¶Ô±»²â½Ó¿Ú·¢ÆðÇëÇó ¡ú ÑéÖ¤·µ»Ø½á¹û
²âÊÔÊý¾ÝÊÇÒ»¸ö·Ç³£ÖØÒªµÄÊäÈ룬ÔÚ½Ó¿Ú²»±äµÄÇé¿öÏ£¬ÀûÓôóÁ¿µÄÊý¾ÝÇý¶¯²âÊÔ£¬´Ó¶øÊµÏֽϸߵĸ²¸ÇÂÊ¡£
ͨ³£ÎÒÃÇʹÓÃÃüÁîÐй¤¾ß cURL »òÕßͼÐλ¯½çÃæ¹¤¾ß Postman ¶Ô½Ó¿Ú·¢ÆðÇëÇó£¬ÎÞÂÛÄĸö¹¤¾ß£¬¶¼ÐèÒª¶Ô·µ»Ø½á¹û½øÐжÏÑÔÒÔÅжÏÊÇ·ñ·ûºÏÔ¤ÆÚ¡£

ÑéÖ¤·µ»Ø½á¹û²»½ö½öÊÇÑéÖ¤·µ»ØµÄ״̬Â룬»¹ÒªÑéÖ¤·µ»ØÖµ£¬·µ»ØÖµµÄ׼ȷÐÔÔòÐèҪͨ¹ý²éѯÊý¾Ý¿âµÈ·½·¨½øÐÐÑéÖ¤¡£
ÁíÍ⣬ÎÒÃÇͨ¹ý Swagger À´¹ÜÀí½Ó¿ÚÎĵµ£¬ÒÔÁ¦Çó²»Í¬µÄ¿ª·¢ÈËÔ±·¢²¼Í³Ò»±ê×¼µÄ½Ó¿ÚÎĵµ£¬¹©´ó¼ÒʹÓá£

2.2 ½Ó¿Ú×Ô¶¯»¯
ͨ³££¬½Ó¿ÚÊÇÌáǰ¶¨ÒåµÄ£¬ÇÒ²»ÇáÒױ仯£¬±È½ÏÎȶ¨£¬Òò´Ë²âÊÔ¹¤³Ìʦ¿ÉÒÔ¸ù¾Ý¶¨ÒåºÃµÄ½Ó¿ÚÎĵµ£¬ÔÚ¿ª·¢±àÂëµÄͬʱ£¬ÊµÏÖ½Ó¿Ú×Ô¶¯»¯²âÊԽű¾£¬Ìá¸ßδÀ´µÄ²âÊÔЧÂÊ£¬²¢ÇÒ¿ÉÒÔʵÏÖ²âÊÔǰÖá£
ÎÒÃÇ»ùÓÚ Pytest ¿ò¼ÜÒÔ¼° Swagger 3.0 ±ê×¼·â×°¸ÄÔì³öÒ»¿îÇáÁ¿¼¶½Ó¿Ú×Ô¶¯»¯²âÊÔ¿ò¼Ü£¬×Ô¶¯½âÎö½Ó¿ÚÎĵµ²¢ÇÒÉú³ÉÄܱ»
Pytest Çý¶¯µÄ²âÊÔÓÃÀý½á¹¹£¬¹¤³Ìʦֻ»¨¾«Á¦±àд²âÊÔÊý¾Ý¡£

Mini API Test Framework
½Ó¿Ú×Ô¶¯»¯µÄʵÏÖ±¾²»ÄÑ£¬Ö÷ÒªÄÑÔÚ²âÊÔÊý¾ÝµÄ×¼±¸ºÍ·µ»ØÖµµÄÑéÖ¤¡£
ÿ´Î¶¼Ê¹ÓÃÏàͬµÄ²âÊÔÊý¾ÝÒ»¶¨ÊDz»ºÏÊʵģ¬Òò´Ë£¬²âÊÔÊý¾ÝÐèÒªÓÐÒ»¶¨µÄ×Ô¶¯Éú³ÉÄÜÁ¦¡£
¶ø·µ»ØÖµÓкܶàÊDzâÊÔ¹ý³ÌÖвÅÄÜÉú³ÉµÃÖªµÄ£¬Èç UUID £¬ÕâÀàÊý¾ÝµÄÑéÖ¤ÐèҪʵʱȥÊý¾Ý¿â»ñÈ¡¡£
2.3 ¶Ëµ½¶Ë
Ä£ÄâÓû§³¡¾°£¬½øÐлùÓÚÏû·ÑÕ߯õÔ¼µÄÒµÎñÖ÷Á÷³Ì¶Ëµ½¶Ë²âÊÔ£¬¸²¸ÇÓû§´¥·¢ÆµÂÊ×î¸ßµÄ²Ù×÷¡£±ÈÈçÒÔµçÉ̾ÙÀý£º
µÇ¼ ¡ú ËÑË÷²úÆ· ¡ú Ñ¡Ôñ ¡ú ¼ÓÈ빺Îï³µ ¡ú Ìá½»¶©µ¥ ¡ú È·ÈÏÖ§¸¶ ¡ú ÊÕ»õÈ·ÈÏ ¡ú Ìí¼ÓÆÀÂÛ
¡ú ËÑË÷¶©µ¥
ÕâÖÖ²âÊÔͨ³£¿ÉÒÔÔÚʱ¼äÓÐÏÞµÄÇé¿ö×÷Ϊ×î»ù´¡µÄÑéÖ¤£¬ÒÔÈ·±£Ã»ÓÐ×èÈûÐÔÎÊÌ⣬±£Ö¤Óû§ÌåÑé¡£
µ«Ò»¸ö²úÆ·µÄÒµÎñÖ÷Á÷³Ìͨ³£²»»á·¢ÉúÌ«´ó±ä»¯£¬ÊÇÒ»Ïî²»¶ÏÖØ¸´µÄ¹¤×÷£¬Òò´Ë£¬ÎÒÃÇÓÅ»¯Á˲âÊÔ²Ù×÷Á÷³Ì£¬´Ó¶øÊµÊ©×Ô¶¯»¯¡£
2.4 UI ×Ô¶¯»¯
ÎÞÂÛÊÇ PC ¶Ë Web UI »¹ÊÇÒÆ¶¯¶ËÓ¦Óà UI£¬ÏÖÔÚ¶¼ÓбȽϳÉÊìµÄ×Ô¶¯»¯²âÊÔ½â¾ö·½°¸¡£¶ÔÓÚ Web
UI£¬ÎÒÃÇÆÚÍûÆäÄܹ»ÔÚÈÝÆ÷ÖÐÖ´ÐУ¬ËùÒÔÑ¡ÔñÁË»ùÓÚ Python µÄ Selenium µ÷Óà Headless
Chrome¡¸ÎÞÍ·ä¯ÀÀÆ÷¡¹£¬²ÉÓÃÒԹؼü×ÖÇý¶¯µÄ Robot Framework ¿ò¼ÜʵÏÖ×Ô¶¯»¯²âÊÔ¡£
WebUI µÄ²Ù×÷Ö÷ÒªÊÇÔÚÒ³ÃæÊäÈëºÍµã»÷£¬Òò´ËÎÒÃDzÉÓà PageObject Éè¼ÆÄ£Ê½·â×°Ò³ÃæÔªËØ£¬ÒÔ´Ë´ïµ½Áé»îʹÓùؼü×ֵį´×°ÊµÏÖ²úÆ·ÒµÎñÒ³Ãæ²Ù×÷¡£

RobotFramework α´úÂë
µ±Ò³Ãæ³öÏÖ´íÎ󣬻ò·ÇÔ¤ÆÚ½á¹ûʱ£¬³ýÁË´òÓ¡Ï꾡µÄÈÕÖ¾£¬»¹»á×Ô¶¯½ØÍ¼²åÈëµ½ HTML µÄ²âÊÔ±¨¸æÖС£
Èý. ²âÊÔ»·¾³¹ÜÀí
3.1 ¹¹½¨¾µÏñ
ÎÒÃÇËùÓеÄ΢·þÎñ¾ùÓÉÁ÷Ë®Ïßͨ¹ý Docker ¹¹½¨³öÈÝÆ÷¾µÏñ£¬ÍÆË͵½¶ÀÁ¢µÄ¾µÏñ²Ö¿âÖС£

Harbor
3.2 ²âÊÔ»·¾³´î½¨
ΪÁ˼õÉÙ²âÊÔ¹ý³ÌÖÐÔàÊý¾ÝµÄ¸ÉÈÅ£¬ÓÐЩ·þÎñÆ÷ÊÇÐèҪȫа²×°µÄ¡£
³ý´ËÖ®Í⣬ͨ³£²úÆ·¶¼ÊÇÖ§³Ö¶àÖÖÆ½Ì¨µÄ£¬Òò´ËÒ²ÐèÒªÔÚ¶àÆ½Ì¨ÉϽøÐа²×°²âÊÔ£¬²¢ÇÒÐèÒª°´ÕÕ½»¸¶ÎĵµÖеݲװ·½·¨½øÐÐÑéÖ¤¡£
3.3 ²âÊÔ»·¾³×Ô¶¯»¯ÔËά
¿¼Âǵ½µü´úÖÜÆÚ¶Ì£¬Ó¦Óó¡¾°¸´ÔÓ£¬×¼±¸È«ÌײâÊÔ»·¾³»¹ÊÇÐèÒª»¨·Ñ²»ÉÙ¾«Á¦£¬ËùÒÔÎÒÃDzÉÓÃ×Ô¶¯»¯µÄ·½Ê½À´¹ÜÀíºÍ²¿Êð²âÊÔ»·¾³£¬²¢ÇÒ
VM ºÍ Docker ÈÝÆ÷²¢´æ¡£
¶ÔÓÚÏà¶ÔÎȶ¨µÄ²âÊÔÓõÚÈý·½·þÎñÆ÷£¬Ö±½ÓʹÓà VM ´î½¨£¬²»ÐèÒªÌØ±ðµÄά»¤£»Ò»Ð©ÓÃÓÚ²úÆ·µÄÖмä¼þ»òÐèÒª³£³£ÇåÀíµÄ²âÊÔÓ÷þÎñÆ÷£¬³ýÁËʹÓÃ
ESXi Server µÄ VM ¿ìÕջعö£¬»¹»á½áºÏÈÝÆ÷»¯²¿Ê𣬲âÍ꼴ɾ¡£
ÕâЩ²Ù×÷¶¼Í¨¹ý×Ô¶¯»¯½Å±¾Ö´ÐУ¬²¢ÇÒÓÉÁ÷Ë®Ï߸ù¾ÝÐèÇó×Ô¶¯´¥·¢¡£
ËÄ. ³ÖÐø¼¯³É
4.1 µ¥Ôª²âÊÔ
µ¥Ôª²âÊÔÊDzúÆ·ÖÊÁ¿¼ìÑéµÄµÚÒ»µÀ¹Ø¿¨£¬ÆäÖØÒªÐԺ͸ßЧÐÔ²»ÑÔ¶øÓ÷¡£µ¥Ôª²âÊÔ×öµÃºÃ£¬»á´ó´ó½µµÍ·µ¹¤³É±¾¡£µ¥Ôª²âÊÔ³ýÁ˹Ø×¢Í¨¹ýÂÊ£¬»¹»áÔÚÖ´Ðкóͨ¹ý
Sonar ·ÖÎö³ö¸²¸ÇÂÊ£¬Á½Õß½áºÏ×ۺϲο¼¡£
4.2 ¾²Ì¬´úÂëɨÃè
ÎÒÃÇÀûÓà Sonar-Scan ¶ÔËùÓдúÂë½øÐÐɨÃ裬²¢ÔÚ SonarQube ÉÏÉ趨һ¶¨µÄÖÊÁ¿ÃÅÏÞ£¬´ïµ½ÖÊÁ¿±ê×¼µÄ²Å»á±»±ê¼ÇΪ¡¸Í¨¹ý¡¹·µ»Øµ½Á÷Ë®Ïß״̬¡£

SonarQube
4.3 ¹¹½¨
΢·þÎñ²úÆ·µÄ¸÷¸ö×é¼þ¶¼ÊÇÒÔÈÝÆ÷¾µÏñµÄÐÎʽ¹¹½¨·¢²¼£¬ÍÆË͵½Ö¸¶¨¾µÏñ²Ö¿â¡£ÎÒÃÇÖ±½ÓÔÚÁ÷Ë®ÏßÖнøÐÐ Docker
¹¹½¨²¢ÍÆËÍ¡£
4.4 ²¿Êð
¼ì²âµ½ÓÐÖ¸¶¨°æ±¾Ð¾µÏñÉú³É£¬¾Í»á¿ªÊ¼×Ô¶¯²¿Êð²âÊÔ»·¾³£¬²¢ÒÔÎÞÈËÖµÊØµÄ·½Ê½½øÐÐÔ¤²âÊÔ¡£
4.5 ×Ô¶¯»¯¼¯³É²âÊÔ
ͨ³£ÎÒÃǰÑ×Ô¶¯»¯²âÊÔǰÖõ½Ìá²âǰ£¬ÒÔ´Ë×÷ΪÊÇ·ñ´ïµ½Ìá²âÒªÇóµÄ¿ìËÙÑéÖ¤¡£
²âÊÔͨ¹ýºó£¬»áÓʼþ֪ͨµ½Ïà¹ØÈËÔ±£¬Õýʽ×÷Ϊ RC¡¸·¢²¼ºòÑ¡°æ±¾¡¹Ìá²â¡£
Îå. ²âÊÔÓÃÀý¹ÜÀí
5.1 JIRA Zephyr
ÎÒÃÇʹÓà JIRA µÄ Zephyr ²å¼þ¹ÜÀí²âÊÔÓÃÀý£¬Èô¸É²âÊÔÓÃÀýͨ¹ýÄ£¿éºÍ±êÇ©½øÐÐɸѡ·ÖÀà¡£
ͨ¹ý Zephyr µÄ²âÊÔÑ»·À´×ö²âÊԼƻ®£¬Ã¿ÂÖ·¢²¼Öаüº¬Èô¸ÉÑ»·£¬Ò»´ÎÑ»·Ï൱ÓÚÒ»´Îµü´ú¡£
ÿ´Îµü´ú»á¹ØÁª¾ßÌåµÄ²âÊÔÓÃÀý¼¯£¬Ð¹¦Äܺͻعéͨ¹ý²»Í¬Ä¿Â¼·ÖÀà¡£
Zephyr ¿ÉÒÔ×·×Ù³öÒÑ·ÖÅäÓÃÀýµÄÖ´ÐÐÇé¿ö¡£
5.2 ²âÊÔÓÃÀýµÄ·ÖÀà
ÎÒÃǰѲâÊÔÓÃÀý°´ÕÕ¹¦ÄÜÄ£¿é½øÐзÖÀ࣬ÓÉÓÚ²âÊÔÓÃÀýÔÚ JIRA ÖÐûÓÐĿ¼½á¹¹£¬Òò´ËÐèÒª¿¿±êÇ©À´É¸Ñ¡¡£
ÁíÍ⣬Õë¶Ô²»Í¬ÀàÐ͵IJâÊÔÓÃÀý£¬ÎÒÃÇÒ²×öÁËÌØÊâµÄ±êÇ©£¬Èç API¡¢E2E µÈµÈ¡£
5.3 ²âÊԼƻ®
Zephyr ÔÚÿһÂÖ·¢²¼ÖпÉÒÔ°üº¬¶à¸ö²âÊÔÑ»·£¬Ò»´ÎÑ»·Ï൱ÓÚÒ»´Îµü´ú¡£
ÔÚÿ¸öµü´úÖУ¬ÎÒÃǹØÁªÁ˼ƻ®Ö´ÐеIJâÊÔÓÃÀý£¬²¢¸ù¾Ý·ÖÀà¹éÔÚ²»Í¬µÄĿ¼ÖС£
5.4 ²âÊÔÓÃÀýµÄÖ´ÐÐ״̬
²âÊÔÑ»·¿ÉÒÔʵʱ»ñÈ¡²âÊÔÓÃÀýÖ´ÐÐÇé¿ö£¬Èô²âÊÔÓÃÀýÖ´ÐÐ״̬Ϊ¡¸Ê§°Ü¡¹£¬ÎÒÃÇ»á¹ØÁªÒ»¸ö JIRA Issue¡£

JIRA Zephyr
ÁíÍ⣬ΪÁËÈÃËùÓÐÈ˶¼¿´µ½Ö±¹ÛµÄ¿´µ½²âÊÔÓÃÀýµÄÖ´ÐÐÓë״̬£¬ÎÒÃÇÀûÓà Grafana ¶¨ÖÆÁËÒ»¸ö¿´°å£¬Ê¹µÃ²âÊÔ½á¹û¿ÉÊÓ»¯£¬Èôó¼Ò¶Ô²úÆ·ÖÊÁ¿ÓÐÒ»¸ö¸ÐÐԵĽâ¶Á¡£
5.5 ²âÊÔ±¨¸æ
Ò»·ÝÍêÕûµÄ²âÊÔ±¨¸æ£¬°üº¬£º
ÕªÒª×ܽá
Ò»¾ä»°×ܽ᱾ÂÖµü´ú²âÊԵĽáÂÛ ´úÂë¸Ä¶¯·¶Î§ й¦ÄÜ È±ÏÝÐÞ¸´ ²âÊÔ°æ±¾ ¾µÏñÃû ¾µÏñ°æ±¾ ²âÊÔ»·¾³ÐÅÏ¢
·þÎñÆ÷Ãû³Æ ·þÎñÆ÷°æ±¾È±ÏÝÑéÖ¤ з¢ÏÖ ÒÑÐÞ¸´ ÒÑÑéÖ¤²âÊÔÏêÇé й¦ÄÜÑéÖ¤ »Ø¹é²âÊÔ ÐÔÄܲâÊÔ °²È«ÐÔ²âÊÔ
Áù. ȱÏݹÜÀí
6.1 JIRA
ȱÏݵĹÜÀí¶¼ÔÚ JIRA ÖÐÍê³É£¬¶ÔÓÚȱÏݵķ¢²¼£¬ÎÒÃÇÓÐ×ÅÑϽ÷µÄ¸ñʽ¡£³ýÁËÌîÈë Sprint ÐÅÏ¢¹©Ïà¹ØÈËÔ±×·×ÙÍ⣬»¹¶îÍâÒªÇóÌîÈëһЩ±ØÒªµÄ±êÇ©£¬ÒÔ±êעȱÏÝ·¢Ïֵĵü´úÖÜÆÚ¡¢È±ÏݵÄÀàÐÍ¡¢È±ÏݵŦÄÜÄ£¿é£¬×÷Ϊ¾Ñé½Ìѵ×ܽáʱµÄÊý¾Ý·ÖÎö¡£
ÎÒÃÇÒªÇóµÄ±ØÌîÏî
씀ÎÊÌâ
ÀàÐÍ
Ö÷Ìâ
Ä£¿é
ÃèÊö
Sprint
ÓÅÏȼ¶
±êÇ©
6.2 ȱÏݵĴ¦Àí
¿ª·¢¹¤³ÌʦÁìÈ¡µ½ÊôÓÚ×Ô¼ºµÄȱÏݺ󣬽«ÆäÍÏÈ롸´¦ÀíÖС¹£¬ÐÞ¸´×Ô²âºóÔÙÍÏÈ롸´ýÑéÖ¤¡¹½»ÓɲâÊÔ¹¤³Ìʦ×ö×îºóµÄÑéÖ¤£¬²¢ÁôϹØÓÚ¸ÃȱÏݵı¸×¢£¬Èç¸ù±¾ÔÒò¡¢½â¾ö·½°¸µÈ¡£
²âÊÔ¹¤³ÌʦÑé֤ʱ»áÌîдÏêϸµÄÑéÖ¤»·¾³ºÍ²½Ö裬ÓÐÀûÓÚÈôÎÊÌâÖØÏÖ£¬¿ÉÕÒµ½ÀúÊ·¼Ç¼½øÐзÖÎö¡£
6.3 ȱÏݵÄ×·×Ù
ÀûÓà JIRA µÄ³å´Ì¿´°å×·×Ùÿ¸öȱÏݵĵ±Ç°½×¶Î£¬ÔÚ²âÊÔ½»¸¶Ç°Ó¦¸Ã¶¼ÔÚ¡¸ÒÑÑéÖ¤ºó¹Ø±Õ¡¹µÄ״̬£¬·ÇÎÊÌâµÄ
ISSUE Ò»°ã²»»áºÜ¶à¡£
.jpg)
JIRA Rapid Board
Æß. ·¢²¼ºó¹ÜÀí
7.1 ȱÏÝ·ÖÎö
³ýÁËÀûÓà JIRA ×ÔÉíµÄ¿´°å£¬ÎÒÃÇ»¹ÀûÓà Grafana ÔöÇ¿ÁËÔÚµ±Ç°³å´ÌÆÚÄڵĶàÑùÇ÷ÊÆÍ¼£¬ÒÔ±ãÓÚËùÓÐÈ˶¼¶ÔÒ»¸öÖÜÆÚÄڵĽø¶ÈÓиöÖ±¹Û¸ÐÖª£¬²¢ÇÒÕë¶Ôÿ¸öй¦ÄÜÒ²Õ¹ÏÖȱÏÝ״̬£¬ÕâЩÊý¾Ý¶¼½«×÷Ϊ±¾ÂÖµü´úÈí¼þÖÊÁ¿µÄÆÀ¹ÀÊý¾ÝÔ´Ö®Ò»¡£
Quality Status
¶ÔÓÚȱÏݵÄ×·×Ù£¬ÎÒÃǸü¹Ø×¢ÔÚ²úÆ··¢²¼ºó£¬ÈçºÎÀûÓÃÕâЩÀúÊ·Êý¾ÝÀ´ÌáÉýδÀ´µÄÈí¼þÖÊÁ¿¡£
ÿÂÖµü´úÓÐһЩÕý³£¹æÂÉ£¬±ÈÈçȱÏÝÊýÁ¿Í¨³£ÔÚǰÁ½¸ö·¢²¼ºòÑ¡°æ±¾½Ï¶à£¬Ïà¶Ô¸´ÔÓµÄй¦ÄܲúÉúµÄȱÏÝÊýÁ¿»áÏà¶Ô½Ï¶à¡£
Èô³öÏÖºóÆÚij¸öºòÑ¡°æ±¾È±ÏÝÊýÁ¿Í»È»Ôö¶à£¬ÔòÒª¿¼ÂDzúÉú¸ÃÏÖÏóµÄÔÒò£¬ÔÚ·¢²¼Ç°£¬¾ÍÒª¿¼ÂÇÖØÐÂÆÀ¹À¸ÃÔÒò´øÀ´µÄÓ°Ïì¡£
¶ø¶ÔÓÚûÓвúÉúÈκÎȱÏݼǼµÄ´úÂë¸Ä¶¯£¬Í¬ÑùÒªÒýÆð×¢Ò⣬ÐèÒªÆÀ¹À²âÊԵĸ²¸Ç³Ì¶ÈºÍÉî¶È¡£
ËùÓÐȱÏݵÄÀ´Ô´Í¨³£ÓУº
²âÊÔ·¢ÏÖ
¿ª·¢·¢ÏÖ
¿Í»§ÏÖ³¡
ÿÖÖÀ´Ô´¶¼½«×÷ΪÈí¼þÖÊÁ¿²»Í¬µÄ¸Ä½ø·½Ïò¡£
¶ø¶ÔÓÚȱÏݵÄÀà±ð£¬±ÈÈ磺»Ø¹é¡¢Ð¹¦ÄÜ¡¢Å¼·¢¡¢¸ÅÂʵȵȡ£
Ò²ÊÇÎÒÃÇ·ÖÎöµÄÒ»¸ö·½Ïò¡£
ÆäÖлعéÎÊÌâÊÇÎÒÃÇÌØ±ð¹Ø×¢µÄ£¬Í¬Ê±Ò²ÊÇ×îÓ°ÏìÈí¼þÖÊÁ¿ÐÅÐĵÄÒ»ÖÖ¡£
7.2 »Ø¹é¸Ä½ø
ÿÂÖ·¢²¼Ö®ºó£¬ÐèÒª¶Ô»Ø¹é²âÊԵķ¶Î§½øÐиüУ¬ÒÔÔö¼Óеĸ²¸Çµã£¬Ö÷ÒªµÄÀ´Ô´ÓУº
×î½üÒ»ÂÖÆÚ¼äй¦ÄܵÄÑéÖ¤
×î½üÒ»ÂÖÆÚ¼ä Hotfix µÄÑéÖ¤
×î½üÒ»ÂÖÆÚ¼ä¿Í»§·´À¡µÄÎÊÌâ
×î½üÒ»ÂÖÆÚ¼ä¿ª·¢ºÍ²âÊÔз¢ÏÖµÄȱÏÝ
ÓÉÓÚ¶Ô¼¼ÊõºÍ²úÆ·µÄ»ýÀÛ£¬²âÊÔÖ÷¶¯ÐÂÔöµÄ²âÊÔÓÃÀý
7.3 ²âÊÔÓÃÀý×Ô¶¯»¯
»Ø¹é²âÊÔÊÇÒ»¸ö·Ç³£ÞÏÞεIJâÊÔ·¶Î§¡£
ÀíÂÛÉÏÀ´Ëµ£¬»Ø¹é²âÊÔ²»Ó¦¸Ã³öÏÖÖ´ÐÐʧ°Ü£¬ËùÒԺܶàʱºò£¬»Ø¹é²âÊÔÊÇÔöÇ¿Èí¼þÖÊÁ¿ÐÅÐĵÄÒ»ÖÖÊֶΡ£
µ«»Ø¹é²âÊԵķ¶Î§ÊDz»¶ÏÀ©´óµÄ£¬Ã¿Ò»ÂÖµÄй¦ÄܲâÊÔ·¶Î§£¬±ØÈ»»áÓÐÒ»²¿·Ö»á¹éÄɵ½ÏÂÒ»ÂֵĻعé²âÊÔ·¶Î§ÄÚ¡£
Òò´Ë£¬»Ø¹é²âÊԵķ¶Î§¾ÍÏñÒ»¸öÓÀÔ¶¹ö²»ÍêµÄÑ©Çò£¬Ô½À´Ô½´ó£¬Ô½À´Ô½ÖØ¡£
½Ó¿Ú²âÊÔÊǻع鷶ΧÖÐ×îÈÝÒ×ʵÏÖ×Ô¶¯»¯£¬²¢ÇÒͶÈë²ú³öЧ¹û×î¼ÑµÄ²âÊÔ·¶Î§£¬²¢ÇÒʵÏÖ½Ó¿Ú²âÊÔ×Ô¶¯»¯µÄ×î¼ÑʱÆÚ¾ÍÊÇ¿ª·¢¹ý³ÌÖС£
µ«ÈÔÈ»»¹ÓÐÏ൱¶àµÄ²âÊÔÓÃÀýÊÇÐèÒª¶à»¨µã¾«Á¦²ÅÄÜʵÏÖ×Ô¶¯»¯µÄ£¬Òò´ËÔÚ²úÆ··¢²¼ºó£¬ÎÒÃǶ¼»á¶ÔÕâЩÒÅÁôµÄ¿É×Ô¶¯»¯²âÊÔÓÃÀý³ÖÐøµÄʵÏÖ¡£
°Ë. ½áÊøÓï
Èí¼þÖÊÁ¿ÊDzúÆ·µÄѪҺ£¬ÐèÒªÕû¸öÍŶӹ²Í¬±£ÕÏ£¬ÌرðÊÇÔÚ DevOps ÍŶÓÖУ¬³ÉÔ±µÄÖ°ÔðÖð½¥±äµÃÄ£ºý£¬¸üÓ¦ÈËÈ˹Ø×¢¡£
ÒÔÉÏÊÇÒ»¸ö±È½ÏͨÓõÄÈ«Á÷³Ì£¬¾ßÌåϸ½ÚÐèÒª¸ù¾Ý×ÔÉí²úÆ·ÌØÐÔ×öµ÷Õû¡£ |