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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Я³Ì»úƱAPPÖ÷Á÷³ÌÍŶÓÉý¼¶³ÖÐø¼¯³É/³ÖÐø½»¸¶£¨ÒÔϾù³ÆCI/CD£©Ìá¸ßЧÂʼ°ÖÊÁ¿µÄʵ¼ù
 
 
  2419  次浏览      29
 2021-8-13
 
±à¼­ÍƼö:
±¾ÎĽéÉÜÁË»úƱAPPÖ÷Á÷³ÌCI/CD¡¢CI¼ìÑéÍêÉÆ¡¢UI×Ô¶¯»¯²âÊÔ¼°¼¯³É×Ô¶¯·¢²¼ºÍUI²âÊÔ ¡£
±¾ÎÄÀ´×ÔÓÚCSDN£¬ÓÉ»ðÁú¹ûÈí¼þLinda±à¼­ÍƼö¡£

Ò»¡¢Ç°ÑÔ

Ëæ×ÅЯ³Ì»úƱAPPÈ«Á÷³ÌÓÉNative¼¼ÊõջתÏòRN£¨React Native£¬ÒÔϾù³ÆRN£©£¬Í¬Ê±ÒýÈëÁËBDDµÄÃô½Ý¿ª·¢Ä£Ê½£¬ÒÔÓ¦¶ÔÈÕÒæÔö³¤µÄ²úÆ·ÐèÇ󡣸ßËٵĿª·¢µü´ú¹ý³ÌÖУ¬ÈçºÎÈ·±£Îȶ¨ÇҿɳÖÐøµÄ½»¸¶ÖÊÁ¿£¬ÏÔµÃÓÈÎªÖØÒª¡£±¾ÆªÖ¼ÔÚ½éÉÜЯ³Ì»úƱAPPÖ÷Á÷³ÌÍŶÓʹÓÃÓëÉý¼¶³ÖÐø¼¯³É/³ÖÐø½»¸¶£¨ÒÔϾù³ÆCI/CD£©À´¼æ¹Ëǰ¶Ë¿ª·¢¸ßЧÂʼ°¸ßÖÊÁ¿µÄʵ¼ù¡£

¶þ¡¢»úƱAPPÖ÷Á÷³ÌCI/CD

2.1 ³ÖÐø¼¯³É/³ÖÐø½»¸¶

ÔÚÈí¼þ¹¤³ÌÖУ¬³ÖÐø¼¯³ÉÊÇÒ»ÖÖÔÚ±£Ö¤ÖÊÁ¿µÄǰÌáϽ«Ã¿ÌìÐÂÔö´úÂëºÏ²¢µ½¹²ÏíÖ÷ÏßÖеÄ×ö·¨¡£³ÖÐø½»¸¶ÊÇÒ»ÖÖÄܹ»Ê¹µÃÈí¼þÔڽ϶̵ÄÑ­»·Öпɿ¿·¢²¼µÄ·½·¨¡£

´«Í³µÄ³ÖÐø½»¸¶¹ý³Ì×ÅÖØÓÚ´úÂëµÄ°²È«½»¸¶£¬¶ÔÓÚ³ÖÐø½»¸¶Á÷³ÌµÄÖ´ÐÐЧÂÊûÓÐ×ã¹»ÖØÊÓ£¬ÍùÍùʹµÃÕû¸ö³ÖÐø½»¸¶¹ý³Ìʱ¼ä³É±¾¹ý¸ß¡£¶ÔÓÚǰ¶Ë¹¤³Ì¶øÑÔ£¬´«Í³µÄ³ÖÐø½»¸¶È±·¦¿ìËÙ¡¢±ã½Ý¡¢¼°Ê±ÏìÓ¦µÄUI×Ô¶¯»¯²âÊÔ·½°¸£¬Ò³ÃæÕ¹Ê¾µÄÕýÈ·ÐÔÄÑÒԵõ½±£ÕÏ¡£

Ãæ¶ÔÕâЩÎÊÌ⣬Я³Ì»úƱͨ¹ý²ÉÓøüΪ¸ßЧµÄCI/CD²ßÂÔ£¬ÊµÏÖ¿ìËÙ¡¢±ã½Ý¡¢¼°Ê±ÏìÓ¦µÄUI×Ô¶¯»¯²âÊÔ·½°¸£¬´ïµ½ÁË´Ó´úÂëÌá½»µ½·¢²¼ÉÏÏßµÄÈ«UI±Õ»·µÄ³ÖÐø½»¸¶Ð§¹û¡£

2.2 »úƱÖ÷Á÷³Ìǰ¶Ë¿ª·¢ÏÖ×´

±¾´ÎCI/CDÉý¼¶Êµ¼ùǰ£¬»úƱAPPÖ÷Á÷³Ìǰ¶ËÁ÷³ÌÖУ¬¿ª·¢ÈËÔ±Íê³É¹¦ÄÜ¿ª·¢ºó£¬´óÖÂÓÐÒÔϼ¸¸ö²½Ö裺

1£©ÔÚ´úÂë²Ö¿âÉÏÌá½»´úÂëʱ£¬»á½øÐÐCI¼ì²â£¬Í¨¹ýºó»áºÏ²¢½øÖ÷·ÖÖ§£»

2£©QAͨ¹ý·¢²¼Æ½Ì¨½øÐвâÊÔ»·¾³µÄ´ò°ü²¿ÊðµÈ²Ù×÷£»

3£©QA½øÐÐÊÖ¹¤²âÊÔ£¬²¢½øÐб¾µØUI×Ô¶¯»¯½Å±¾²âÊÔ£¬²âÊÔÍê³Éºó½øÐнá¹û·´À¡£»

4£©Í¨¹ý²âÊÔ£¬½øÈëÏÂÒ»²½µÄÉú²ú·¢²¼Á÷³Ì¡£

Ö÷Á÷³ÌCI/CDÁ÷³Ìͼ

Õû¸ö¹ý³Ì£¬ËäȻʹÓÃÁË×Ô¶¯»¯ÊֶΣ¬µ«ÊÇ£¬»¹ÊÇ´æÔÚһЩÎÊÌ⣺

1£©È˹¤¸ÉÔ¤¹ý¶à£ºÆ½Ì¨µÄ·¢²¼¡¢²¿Êð£¬ÔËÐÐUI×Ô¶¯»¯£¬ÕâÐ©ÖØ¸´µÄ¹Ì»¯²½Öè¶¼ÐèÒªÈ˹¤²ÎÓ룻

2£©·¢²¼»Ø¹é³É±¾¸ß£ºÔÚÿÖܳ£¹æ·¢²¼Á½´ÎµÄ½Ú×àÏ£¬ÈËÁ¦»Ø¹é²âÊÔ¼ÓÉϼ¯³É·´À¡Á´Â·¹ý³¤£¬¶¼»áÔö¼ÓÑéÖ¤³É±¾£»

3£©UI×Ô¶¯»¯²âÊÔ²ÎÓë¶È²»¹»£ºÕû¸ö²âÊÔ¹ý³ÌÖУ¬ÊÖ¹¤²âÊÔÕ¼±È´ó£¬UI×Ô¶¯»¯²âÊÔÓÉÓÚÓÃÀýÊýÁ¿ÅÓ´óÒÔ¼°Õæ»úÔËÐÐЧÂÊÆ¿¾±£¬½öÔÚ²âÊԽ׶νøÐи¨Öú²âÊÔ£¬²¢²»Äܱ£Ö¤UI¹¦ÄÜÑéÖ¤µÄÍêÕû¶È£¬Ô¶Ã»Óз¢»ÓÕæÕýµÄЧÓá£

ÎÒÃÇÕë¶ÔÕâЩÎÊÌâ½øÐÐÁËÁ÷³Ì¸Ä½ø¡£

2.3 Я³Ì»úƱCI/CD¸Ä½øºóÁ÷³Ì

¸Ä½øºóÖ÷Á÷³ÌCI/CDÁ÷³Ìͼ

Óë֮ǰÏà±È£¬¿ª·¢½×¶Î£º

1£©CI¼ì²éµÄ¹ý³ÌÖÐÔö¼ÓÁËESLintУÑéºÍÔöÇ¿ÁËUT¼ìÑ飬¿ÉÒÔÔÚ¸ùÔ´ÉÏÅųýµÍÖÊÁ¿È´ÄÑÒÔ·¢ÏÖµÄbug£»

2£©×Ô¶¯·¢²¼Ãâ³ý·±ÔÓµÄÈËÁ¦²Ù×÷ºÍÂþ³¤µÈ´ý±àÒëµÄ¹ý³Ì£»

3£©Ôö¼ÓÁË×Ô¶¯´¥·¢CRN-WEBµÄUI×Ô¶¯»¯²âÊÔ£¬Ê¹µÃUI×Ô¶¯»¯²âÊÔÌáǰ½éÈ룬½«¼òµ¥¹¦ÄÜÌáǰ½øÐвâÊÔ£¬ÔçÒ»²½·¢ÏÖÎÊÌ⣬¼õÉÙ²âÊԳɱ¾ºÍ¹µÍ¨³É±¾¡£

²âÊԽ׶Σº

ÓÉÔ­À´µÄÊÖ¹¤²âÊÔΪÖ÷£¬UI×Ô¶¯»¯²âÊÔΪ¸¨£¬Çл»³ÉUI×Ô¶¯»¯Õæ»ú²âÊÔΪÖ÷¡£

¹ØÓÚ×î´óЧÂÊ·¢»ÓUI×Ô¶¯»¯µÄ×÷Óã¬×Ô¶¯´ò°ü·¢²¼µÈ£¬»áÔÚÏÂÃæµÄÄÚÈÝÀï½øÐÐÏêϸ½éÉÜ¡£

Èý¡¢CI¼ìÑéÍêÉÆ

3.1 ÍêÉÆ¼ìÑé»úÖÆ

ÍêÉÆCI¼ìÑé»úÖÆ£¬¿ÉÓÐÖúÓÚÎÊÌⱩ¶ǰÖ㬱ÜÃâÎÞ±ØÒªµÄÅŲé³É±¾¡£³ý»ù±¾µÄÕë¶ÔTypeScript´úÂë¹æ·¶µÄESLint¼ì²â£¬¼ÓÇ¿Á˶ÔUTµÄ¼ì²â£¬ÔÚ´ï²»µ½Ö¸¶¨ãÐֵʱ£¬À¹½Ø·ÖÖ§ºÏ²¢£¬Í¨¹ý¹æ·¶ÐÔÒªÇóºÍ×Ô¶¯»¯CI¼ìÑé±£ÕÏ´úÂëµÄÖÊÁ¿¡£

3.2 Ìá¸ß¼ìÑéЧÂÊ

CI¼ì²â»ù±¾ÊÇÒ»¸ö´®ÐеÄÁ÷³Ì£¬µ«ÖмäµÄһЩ¼ìÑé¹ý³Ì¿ÉÒÔ²¢ÐУ¬Ëõ¼õ¼ìÑéʱ¼ä£¬ÀýÈ磺TSC¡¢UTÒÔ¼°ESLintУÑé²¢ÐÐÔËÐУº

ÓÅ»¯Ð§¹û£º

1£©Ã¿¸östagesµÄ¼ì²âÄÚÈÝһĿÁËÈ»£¬Ä³¸öjob³öÏÖÎÊÌâÒ²Äܹ»Ñ¸ËÙ¶¨Î»¡£

PipelineÔËÐнṹͼ

2£©TSC¡¢UT¡¢ESLint²¢ÐÐÔËÐкó£¬build½×¶Î½öÐè1min59s£¬Ïà½Ï´®ÐÐÖ´ÐеÄ5min48s£¬½ÚÔ¼ÁË3min49s£»´®ÐÐϵÄÕûÌ寽¾ùºÄʱΪ8min£¬¸ÄΪ²¢ÐкóµÄƽ¾ùºÄʱΪ4min£¬ÌáÉýÁË50%µÄÖ´ÐÐЧÂÊ¡£

JobsºÄʱͼ

ËÄ¡¢UI×Ô¶¯»¯²âÊÔ

ʵÏÖCI/CD£¬ÐèÒªÈ«Íø×Ô¶¯»¯»Ø¹éÀ´±£Ö¤ÖÊÁ¿£¬¶øUI×Ô¶¯»¯²âÊÔÊÇǰ¶Ë²âÊÔÖÐÕë¶ÔÒµÎñÂß¼­×Ô¶¯»¯²âÊÔµÄÓÐЧ·½·¨¡£Õë¶ÔUI×Ô¶¯»¯²âÊÔʵʩ¸´ÔÓ¡¢ÔËÐÐÂý¡¢ÅŲéÎÊÌâЧÂʵ͵ÄÎÊÌ⣬Я³Ì»úƱÔÚÒ»²½²½µÄÉý¼¶¹ý³ÌÖÐͨ¹ý²»¶Ï×ÔÑкÍÍêÉÆ²âÊÔ¹¤¾ß£¬Êµ¼ùµÃ³öÁ˽ϺõĽâ¾ö·½°¸¡£

4.1 MOCKƽ̨

ÔÚUI×Ô¶¯»¯µÄ²âÊÔ¹ý³ÌÖУ¬Êý¾ÝµÄÎȶ¨ÐÔÊÇUI×Ô¶¯»¯²âÊÔÄÜ·ñ˳Àû½øÐеľö¶¨ÐÔÌõ¼þÖ®Ò»¡£»úƱҵÎñÊý¾Ý´æÔڸ߶ȵı仯ÐÔ£¬Ç°Ò»Ê±¼ä¶Î´æÔڵĺ½°àÊý¾ÝÏÂÒ»¿Ì¿ÉÄܾͷ¢ÉúÁ˸ı䣬Êý¾ÝµÄ±ä»¯½«µ¼ÖÂÔ­ÓеÄ×Ô¶¯»¯ÓÃÀýÎÞ·¨Õý³£ÔËÐС£Í¬Ê±ÔÚ¿ª·¢¹ý³ÌÖУ¬·þÎñ¶ËµÄÐèÇó¹¦ÄÜÒ²»áµ¼ÖÂÊý¾Ý±ä»¯¡£

Ϊ½â¾öÊý¾ÝÎÊÌ⣬Ìá¸ßUI×Ô¶¯»¯²âÊÔµÄÎȶ¨ÐÔ£¬ÒýÈëÄÚ²¿×ÔÑеÄMockƽ̨£¬´ïµ½ÒÔÏÂÄ¿µÄ£º

1£©Îȶ¨²»±äµÄÊý¾Ý

2£©²»ÊÜ·þÎñ¶ËÓ°ÏìµÄÊý¾Ý»·¾³

3£©¿ìËÙÏìÓ¦µÄUI½çÃæ

4.2 ·Ö²¼Ê½UI×Ô¶¯»¯Æ½Ì¨

ΪÁ˽â¾öUI×Ô¶¯»¯±¾µØµ¥»úÔËÐÐÂý£¬Õ¼ÓÃÉ豸ºÍÈ˹¤×ÊÔ´µÄÎÊÌ⣬²¿ÃÅÄÚ²¿´î½¨ÁËÒ»Ì×UI×Ô¶¯»¯·Ö²¼Ê½ÔËÐÐÆ½Ì¨£¬ÓÉÔ­À´µÄ±¾µØµ¥Ì¨É豸ÔËÐиÄΪƽ̨¹²Ïí¶ą̀É豸²¢ÐÐÔË×÷µÄģʽ£¬ÔËÐÐʱ³¤ÓÉÔ­ÏȵÄ4Сʱ¼õÉÙµ½ÏÖÔÚ20·ÖÖÓ×óÓÒ¡£

ƽ̨ÉÏÖ§³ÖÈÎÎñ¡¢É豸ºÍÏîÄ¿µÄ¹ÜÀí£¬Ñ¡ÔñÐèÒªÔËÐеÄÓÃÀý£¬´ýÓÃÀýÖ´ÐÐÍê³Éºó¿ÉÒԲ鿴±¨¸æ£¬±¨¸æÖÐÓÐÏàӦʧ°Ü½çÃæ½ØÍ¼£¬±ãÓÚ·ÖÎöÅŲéÎÊÌâ¡£

ÁíÍ⣬ƽ̨¿ÉÒÔÖÆ¶¨Ã¿ÈÕ¶¨Ê±ÈÎÎñ£¬½«Ã¿Ìì²âÊÔ»·¾³¸üÐµĹ¦ÄܽÓÈë¼à¿Ø¡£

ƽ̨ÓÃÀý±¨¸æ»ã×ÜÑùÀýͼ

4.3 ×Ô¶¯»¯¿ò¼Ü

4.3.1 MEC¿ò¼Ü

BDD£¨ÐÐΪÇý¶¯¿ª·¢£©ÊÇÒ»ÖÖÃô½ÝÈí¼þ¿ª·¢µÄ¼¼Êõ£¬¹ÄÀø¿ª·¢Õß¡¢QAºÍ·Ç¼¼ÊõÈËÔ±Ö®¼äµÄЭ×÷£¬Îª±£ÕÏÖÊÁ¿Ð¯³Ì»úƱÂäʵÁËBDD¿ª·¢Ä£Ê½¡£²¿ÃÅÄÚ²¿»ùÓÚCucumberºÍMacaca×ÔÑÐÁËÕæ»úÔËÐеÄUI×Ô¶¯»¯¿ò¼ÜMEC£¨Macaca Eating Cucumber£©£¬±ãÓÚQAÈËԱʹÓÃ×ÔÈ»ÓïÑÔ±àд×Ô¶¯»¯²âÊԽű¾¡£

MEC¿ò¼Ü½á¹¹Í¼

ÿÌõ×ÔÈ»Óï¾ä¶ÔÓ¦Ò»¸ö¿ÉÖ´Ðеķ½·¨£¬ÒÔÏÂÊÇÓÃMEC±àдµÄ½Å±¾Ê¾Àý£º

@p1
³¡¾°´ó¸Ù:ɸѡº½¿Õ¹«Ë¾
¼ÙÈç ÆôÓÃMockCase[<caseID>]
µ± Ìø×ªÒ³Ãæµ½[<ÁбíÒ³>]
²¢ÇÒ É¸Ñ¡[º½¿Õ¹«Ë¾]Ϊ[Ñ¡ÔñÌõ¼þ¶«·½º½¿Õ]
ÄÇô ÁбíÒ³º½°à°´º½¿Õ¹«Ë¾[¶«º½]ɸѡ
²¢ÇÒ ÒÆ³ýMockCase

Àý×Ó:
| caseID | ÁбíÒ³ |
| 17470891 | µ¥³ÌÁбíÒ³ÉϺ£-±±¾© |

¹úÄÚɸѡº½¿Õ¹«Ë¾ÓÃÀý½Å±¾

4.3.2 Airtest×Ô¶¯»¯²âÊÔ¹¤¾ß

ÉÏÊö¿ò¼ÜÖвÉÓõÄMacacaÊÇUI×Ô¶¯»¯²âÊÔ¹¤¾ßÖг£ÓõÄÒ»ÖÖ£¬Ò²¿ÉÒÔʹÓÃÆäËû×Ô¶¯»¯²âÊÔ¹¤¾ß½øÐÐÌæ»»£¬¶Ô´Ë£¬²¿ÃÅÄÚ²¿Ò²ÕýÔÚ³¢ÊÔʹÓÃÆäËûµÄͬÀàÐ͹¤¾ß£¬È磺Appium¡¢AirtestµÈ½øÐÐÊÔÑé¡£AirtestÊÇÍøÒ׿ª·¢µÄUI×Ô¶¯»¯²âÊÔ¹¤¾ß£¬Ä¿µÄÊÇͨ¹ýËù¼û¼´ËùµÃ¡¢½ØÍ¼µã»÷µÈ¹¦ÄÜ£¬¼ò»¯²âÊÔ´úÂë±àд¹¤×÷¡£

¾ÍĿǰµÄ²âÊÔ½á¹ûÀ´¿´£¬Airtest°æÏà½ÏMacaca°æ¾ßÓÐÒÔÏÂÓÅÊÆ£º

1£©¸ü¿ìµÄÖ´ÐÐËÙ¶È£º²éÕÒµ¥¸öÔªËØ¿É½ÚʡԼ1-3ÃëµÄʱ¼ä£¬ÕûÌåÓÃÀýÖ´ÐÐʱ¼ä¿É½ÚÊ¡75%ÒÔÉÏ£»

2£©¸ü·á¸»µÄÑéÖ¤¹¦ÄÜ£ºAirtest¿ÉÖ§³ÖͼÏñ±È¶Ô¡£

ÒÔÏÂÊÇͬµÈÓÃÀýÔËÐÐʱ¼ä¶Ô±È£º

Macaca°æÔËÐкÄʱ

Airtest°æÔËÐкÄʱ

»ùÓÚÒÔÉÏÓÅÊÆ£¬½ÓÏÂÀ´µ×²ãÔË×÷»áÇ¨ÒÆµ½Airtest¹¤¾ßÉÏ£¬¶øµÃÒæÓÚ×ÔÈ»ÓïÑÔ·­Òë½Å±¾ÔËÐеÄÌØÐÔ£¬ÓÃÀý¼¯Çл»Airtest¹¤¾ßÉÏÎÞÐèÔö¼Ó³É±¾£¬ÇÒ¿ÉÒÔ½øÒ»²½Ìá¸ßÔËÐÐЧÂÊ£¬»ñÈ¡¸ü¶à±ãÀû¡£

ͨ¹ýÑ¡Ôñ²»Í¬µÄ²âÊÔ¹¤¾ß£¬ÌáÉýÁËÔËÐÐЧÂÊ£¬´Ó¶ø´ø¸øÎÒÃÇ˼¿¼»¹ÓÐʲô·½·¨¿ÉÒÔÈÃUI×Ô¶¯»¯²âÊÔÔËÐеĸü¿ì£¿ÏÂÒ»½ÚµÄPAC¿ò¼ÜÔòÊÇÒ»¸öÐµķ½·¨¡£

4.3.3 ¶à½ø³ÌPAC¿ò¼Ü

Ŀǰ£¬»úƱAPPÖ÷Á÷³ÌUI×Ô¶¯»¯ÓÃÀý¼¯Êýǧ¸ö£¬ÐèÇ󸲸ÇÂÊ95%ÒÔÉÏ£¬Í¨¹ý½ÓÈë×Ô¶¯»¯Æ½Ì¨£¬ËäÈ»½â·Å²¿·ÖÉ豸ºÍÈËÁ¦£¬µ«ÊÇ»¹´æÔÚÔËÐÐʱ¼ä¹ý³¤£¬¹ý¶ÈÒÀÀµÉ豸£¬¶à¶Ë²îÒì¼æÈݵÈÎÊÌâ¡£

Я³Ì»úƱAPPÖ÷Á÷µÄRNÏîÄ¿¶¼ÊÇʹÓÃÄÚ²¿¿ª·¢¿ò¼ÜCRN½øÐеģ¬ÔÚÕâ»ù´¡Ö®ÉÏ£¬ÎªÁË´òͨÏîÄ¿ÔÚiOS¡¢Android¡¢H5Èý¶ËÔËÐÐЧ¹û£¬Ê¹ÓÃÄÚ²¿CRN-WEB¿ò¼ÜµÄͬʱ£¬×ÔÑÐÁË¶à½ø³ÌUI×Ô¶¯»¯¿ò¼Ü--PAC¿ò¼Ü£¬PAC£¨Puppeteer And Cucumber£©ÊôÓÚMEC BDD²âÊÔ×Ô¶¯»¯¿ò¼ÜµÄÑÜÉúÆ·£¬Í¨¹ýHeadless ChromeµÄ¹¤¾ßPuppeteer£¬¸ÄÉÆÄ¿Ç°UI×Ô¶¯»¯²âÊÔµÄÆ¿¾±¡£

PAC¿ò¼Ü¼Ü¹¹Í¼

ͨ¹ýPAC¿ò¼Ü£¬Ô­ÏȱàдµÄUI×Ô¶¯»¯²âÊԽű¾£¬¿ÉÒÔÁã³É±¾µÄ¶Ô½ÓÔËÐÐÔÚWEB¶Ë£¬ÕâҲΪºóÆÚUI×Ô¶¯»¯²âÊÔµÄÌáǰ½éÈë´òÏ»ù´¡¡£

ÓÅÊÆ£º

1£©Ëõ¶ÌµÄÔËÐÐʱ¼ä£¬½«Ã¿¸öUI×Ô¶¯»¯ÏîÄ¿×ÜÔËÐÐʱ¼äËõ¶ÌÔÚ·ÖÖÓ¼¶

2£©ÍêÈ«ÍÑÀë¿Í»§¶Ë£¬½µµÍ¶ÔÉ豸µÄÒÀÀµ

3£©½â¾öÏÖÓеĶà¶Ë²îÒì¼æÈݺͻ·¾³ÎÊÌâ

4£©ÏÖÓÐCucumberÓÃÀýÎÞ·ìÇл»£¬ÎÞÐèÔٴαàдת»»

CRN-WEBÖ´ÐÐUI×Ô¶¯»¯ÏîÄ¿ÔËÐÐ×ܺÄʱ

Îå¡¢¼¯³É×Ô¶¯·¢²¼ºÍUI²âÊÔ

Ò»¸öÍêÕûµÄ³ÖÐø¹¹½¨ÏµÍ³°üÀ¨Èý¸ö²¿·Ö£ºÒ»¸ö×Ô¶¯¹¹½¨µÄ¹ý³Ì£¨±ÈÈç°²×°ÒÀÀµ×Ô¶¯±àÒë¡¢´úÂëÖÊÁ¿¼ì²é¡¢µ¥Ôª²âÊÔ£¬×Ô¶¯·¢²¼µÈ£©¡¢Ò»¸ö´úÂë´æ´¢¿â£¨¹¹½¨¹ý³ÌµÄËØ²Ä¿â£©¡¢Ò»¸ö³ÖÐø¼¯³ÉµÄ·þÎñÆ÷£¨×Ô¶¯Ö´Ðй¹½¨µÄÁ÷Ë®Ïߣ©¡£ÒÔÏÂ2µãÕýÊÇ¶ÔÆäÖеÄ×Ô¶¯¹¹½¨¹ý³ÌµÄÍêÉÆ¡£

5.1 ƽ̨×Ô¶¯´ò°ü·¢²¼

»ùÓÚ·¢²¼ÏµÍ³£¬µ±´úÂëmerge½øÈëÖ÷²Ö¿âʱ£¬½øÐÐCRNºÍCRN-WEBµÄ×Ô¶¯»¯·¢²¼£¬ÒÔ¼°²âÊÔ»·¾³µÄ²¿Êð¡£

·¢²¼Æ½Ì¨µÄCLI¹¤¾ßÌṩ´ò°ü¹¦ÄÜ£¬¶ÔÆä·â×°µ÷Ó᣷¢²¼Íê³Éºó£¬GitLab-CI¹¹½¨½á¹ûÉÏ´«Ìṩ¸øÏÂÓÎjobʹÓã¬Öмä³öÏÖÎÊÌâʱ£¬»áͨ¹ýÄÚ²¿IM¡¢ÓʼþÐÎÊ½ÍÆË͸øÏà¹ØÈËÔ±¡£

×Ô¶¯´ò°üÁ÷³Ì

5.2 ×Ô¶¯´¥·¢UI²âÊÔ

job¿ªÊ¼Ç°£¬Ê¹ÓÃÉÏÓÎ×Ô¶¯´ò°ü²úÉúµÄÖмä½á¹û£¬À­È¡Ö¸¶¨²âÊÔ°æ±¾£¬×Ô¶¯´¥·¢Æ½Ì¨UI×Ô¶¯»¯²âÊÔÈÎÎñ£¬Ö´ÐÐÍê³Éºó£¬Ê¹ÓÃÔ¤ÉèãÐֵУÑé×Ô¶¯»¯Í¨¹ýÂÊ£¬²¢¼°Ê±·´À¡¡£

×Ô¶¯´¥·¢UI×Ô¶¯»¯²âÊÔÁ÷³Ì

½áºÏÉÏÃæÁ½ÏÔÚÏîÄ¿.gitlab-ci.ymlÎļþÖÐÔö¼ÓÁ½ÏîJob£º·Ö±ð¶ÔÓ¦×Ô¶¯»¯·¢²¼ºÍ×Ô¶¯»¯UI²âÊÔ¡£ÈκγÉÔ±commit push¾ù»á´¥·¢Pipeline£¬¾­¹ýUT¡¢UI×Ô¶¯»¯µÈ¼ì²â£¬PipelineÕûÌåͨ¹ýºó£¬²ÅÄÜ´¥·¢merge requestµÄ״̬¸Ä±ä£¬½øÐÐmerge²Ù×÷£¬½øÒ»²½±£ÕÏ´úÂëÖÊÁ¿£¬Ò»ÏµÁÐÁ÷³ÌºÄʱ½ö7min×óÓÒ¡£Õû¸öPipelineÁ÷³ÌÈçÏÂͼËùʾ£º

PipelineÁ÷³Ì

Áù¡¢×ܽá

Ëæ×ÅÃô½Ý¿ª·¢µÄÍÆ¶¯£¬ÈÃÿһ´ÎÌá½»µÄ´úÂë½øÐÐÒ»´ÎÍêÕûµÄ±àÒë¡¢²âÊÔ¡¢´ò°ü¡¢·¢²¼£¬¼°ÔçµÄ·¢ÏÖ²¢ÐÞ¸´ÎÊÌ⣬±£Ö¤Ñз¢ÖÊÁ¿µÄͬʱ¿ìËÙµü´ú²úÆ·£¬³ÖÐø¼¯³É£¨CI£©¡¢³ÖÐø½»¸¶£¨CD£©ÔÚ´ËÖоÍÊÇÒªÌåÏÖ³öÕâÑùµÄ¼ÛÖµ¡£

ÔÚCI/CDÉý¼¶Êµ¼ùÖУ¬Õë¶ÔCI¼ì²âºÍUI×Ô¶¯»¯²âÊԵȽøÐÐÁËһϵЧÂʺÍÖÊÁ¿µÄÓÅ»¯£¬ÒÔʵÏÖ×îµÍ³É±¾µÄ×î¸ßЧ²âÊÔ¡£ÒýÈëLint¼ì²âºÍUT²âÊÔÕâÖÖ±¾ÉíµÍ³É±¾µÄУÑ飬Ëõ¶Ì¼ì²âʱ¼ä£¬¶øUI×Ô¶¯»¯ÕâÖֳɱ¾±È½Ï¸ßµÄ¼ì²â£¬Ò²ÀûÓÃUI×Ô¶¯»¯Æ½Ì¨ºÍCRN-WEB¶ø´ïµ½¶àƵ´ÎµÄ²âÊÔ¡£ÔÚ´úÂëºÏÈëÖ÷·Ö֧ǰ£¬¾Í½øÐз¢²¼¡¢UI²âÊÔ£¬Ìá¸ßÁ˼ì²âÁ¦¶È£¬¼õÉÙÁË´úÂë»ØÍË·çÏÕ£¬Ê¹µÃUI×Ô¶¯»¯ÔÚǰ¶Ë¼¯³ÉÖз¢»ÓÁËÖØÒªµÄ×÷Óã¬ÐγÉUI²âÊԵıջ·¡£

ÏÖÔÚ£¬»úƱAPPÖ÷Á÷³ÌUI×Ô¶¯»¯²âÊÔÓÃÀý¸²¸ÇÂÊ´ïµ½95%£¬ÓÉÔ­À´Ò»×éÊýÃûQAÈËÔ±´æÔÚ²âÊÔ×ÊÔ´µÄ½ôÕÅÇé¿ö£¬µ½ÏÖÔÚ1ÃûQAÈËÔ±Ò²Äܹ»ÍêÈ«³Ðµ£ÆðÕû×é²âÊÔÈÎÎñµÄ״̬¡£

6.1. ÌáÉý²âÊÔЧÂÊ

ÓÃÀýÖ´ÐкÄʱͼ

ͨ¹ý´Óµ¥»úÖ´Ðе½CRN-WEB¶à½ø³Ì²¢ÐÐÖ´ÐеÄÉý¼¶£¬UI×Ô¶¯»¯µÄÖ´ÐÐЧÂʵõ½ÁË´ó·ùÌáÉý£¬´Ó×î³õµÄ³¬¹ý4Сʱµ½×îÖÕ½«Ö´ÐÐʱ¼ä¿ØÖƵ½·ÖÖӵļ¶±ð£¬ÊµÏÖÁËÕæÕýµÄ¸ßЧ¡¢±ã½Ý¡¢¼°Ê±ÏìÓ¦µÄUI×Ô¶¯»¯²âÊÔ·½°¸¡£

×Ô¶¯»¯²âÊÔÓÃÀý¸²¸Çͼ

ÏÖ½×¶ÎЯ³Ì»úƱµÄ²âÊÔÓÃÀýUI×Ô¶¯»¯¸²¸ÇÂÊÒÑ´ïµ½ÁË95%µÄˮƽ£¬·ÖÖÓ¼¶±ðµÄ¸ßЧUI×Ô¶¯»¯·½°¸´ó·ùÌá¸ßÁ˲âÊÔµÄЧÂÊ£¬Îª¿ìËÙµü´ú¡¢µÍ³É±¾·¢²¼ÌṩÁËÓÐÁ¦Ö§³Å¡£

6.2 ½µµÍ·¢²¼³É±¾

·¢²¼³É±¾¶Ô±Èͼ

·¢²¼³É±¾µÄ½µµÍҲʮ·ÖÃ÷ÏÔ£¬×î³õÿ´Î·¢²¼ÐèҪͶÈë1Ãû²âÊÔÈËÔ±ÊÖ¹¤»Ø¹é£¬×Ô¶¯»¯²âÊÔÌæ´úÈ˹¤²âÊԺ󣬻عé²âÊÔʵÏÖÁË0ÈËÁ¦Í¶È룻»Ø¹é²âÊÔµÄʱ¼ä³É±¾Ò²ÔÚ²»¶ÏµÄÉý¼¶ÓÅ»¯ÖÐÒ»²½²½½µµÍ£¬ÔÚ²ÉÓ÷ֲ¼Ê½Ö´ÐÐUI×Ô¶¯»¯»Ø¹éºó·¢²¼×¼±¸µÄʱ¼ä³É±¾½µµ½ÁË2Сʱ×óÓÒ¡£

 

   
2419 ´Îä¯ÀÀ       29
Ïà¹ØÎÄÕÂ

DevOpsתÐÍÈÚÈëµ½ÆóÒµÎÄ»¯
DevOps ÄÜÁ¦Ä£ÐÍ¡¢Ñݽø¼°°¸ÀýÆÊÎö
»ùÓÚ DevOps ÀíÄîµÄ˽ÓÐ PaaS ƽ̨ʵ¼ù
΢Èí¿ª·¢ÍŶӵÄDevOpsʵ¼ùÆôʾ
Ïà¹ØÎĵµ

DevOpsÇý¶¯Ó¦ÓÃÔËά±ä¸ïÓë´´ÐÂ
ÔËά¹ÜÀí¹æ»®
ÈçºÎʵÏÖÆóÒµÓ¦Óò¿Êð×Ô¶¯»¯
ÔËά×Ô¶¯»¯Êµ¼ù֮·
Ïà¹Ø¿Î³Ì

×Ô¶¯»¯ÔËά¹¤¾ß£¨»ùÓÚDevOps£©
»¥ÁªÍøÔËάÓëDevOps
MySQLÐÔÄÜÓÅ»¯¼°ÔËάÅàѵ
ITϵͳÔËά¹ÜÀí
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]
 
×îÐÂÎÄÕÂ
DevOps µÀ·¨ÊõÆ÷£¬Á¢Ì廯ʵʩ¿ò¼Ü
DevOps ÖиßЧ²âÊÔ»ù´¡¼Ü¹¹µÄ×î¼Ñʵ¼ù
DevOps ÔÚ¹«Ë¾ÏîÄ¿ÖеÄʵ¼ùÂ䵨
ÈçºÎ»ùÓÚ Kubernetes ¹¹½¨ÍêÕûµÄ DevOps Á÷Ë®Ïß
°¢ÀïÔÆKubernetesʵս
×îпγÌ
DevOpsÌåϵʵ¼ù¡¢¹¤¾ßÓëÆ½Ì¨
»ùÓÚKubernetesµÄDevOpsʵ¼ù
»¥ÁªÍøÔËάÓëDevOps
»ùÓÚKubernetes¹¹½¨ÆóÒµÈÝÆ÷ÔÆ
ÆóÒµ¼¶DevOps¹¤×÷ÌåϵÓëÆ½Ì¨
³É¹¦°¸Àý
±±¾© DevOpsÌåϵʵ¼ù¡¢¹¤¾ßÓëÆ½Ì¨
ÉñÁúÆû³µ DevOpsÌåϵʵ¼ù¡¢¹¤¾ßÓëÆ½Ì¨
ÖйúÒÆ¶¯Í¨ÐÅ ÍøÂç¹æ»®Óë¹ÜÀí
ijº½¿Õ¹«Ë¾ IT¹æ»®ÓëÆóÒµ¼Ü¹¹
ij½ðÈÚ¹«Ë¾ IT·þÎñ¹ÜÀí£¨ITIL V3£©