ããã§èª¬æããæ¹æ³ã¯ããã¹ãŠã®èšèªããã¹ãã·ã¹ãã ãç°å¢ã«å®å šã«é©åããŠããŸãã ãããã£ãŠãç§ãã¡ã®çµéšã¯ãPHPã®Webãµã€ãéçºè ã ãã§ãªããä»ã®éçºåéã®ä»£è¡šè ã«ãšã£ãŠãæçšã§ãã ããã«ãè¿ãå°æ¥ãTeamCityãPHPUnitã«å¿ ããããã€ã³ãããã«ãã·ã¹ãã ããªãŒãã³ãœãŒã¹ã«ç§»è¡ããäºå®ã§ãã確å®ã«èª°ãã«åœ¹ç«ã€ã§ãããã
ãªããããå¿ èŠãªã®ã§ããïŒ
ãŠããããã¹ãã¯å¿ é ã§ãïŒ ç§ãã¡ã¯ãããæ¬åœã«ä¿¡ããŠããŸãïŒ ïŒäœå人ãã®äººã ãåãçµãã§ããæ·±å»ãªãããžã§ã¯ãã®ã³ã³ããŒãã³ãã§ãã ãããŠããããžã§ã¯ãã倧ããã»ã©ãããå€ãã®åäœãã¹ãããããŸãã åäœãã¹ããå€ãã»ã©ãå®è¡æéãé·ããªããŸãã å®è¡æéãé·ããã°é·ãã»ã©ãéçºè ãšãã¹ã¿ãŒã¯èµ·åãããœããã«ç¡èŠãããããšã«æ±ºããŸãã
åœç¶ãããã¯ãã¹ãã¿ã¹ã¯ã®å質ãšé床ã«ãã©ã¹ã®åœ±é¿ãäžããããšã¯ã§ããŸããã ãã¹ãã¯ãªãªãŒã¹åã«ã®ã¿å®å šã«å®è¡ãããåå£å Žã§ããã®ãã¹ãã倱æããã®ã¯ãªãã§ããããšãã粟ç¥ã§æ確åãå§ãŸããŸãããããŠãå€ãã®å Žåããã¹ãŠã¯ããã®ããã«å解ããŠãä¿®æ£ããŸãïŒãã«åž°çããŸãã ãããŠãåé¡ããã¹ãã«ããå Žåã¯è¯ãããšã§ãã ãã¹ãã³ãŒãå ã«ããå Žåã¯ããã«æªåããŸãã
ãã®ç¶æ³ããæãåºãæåã®æ¹æ³ã¯ããã¹ãã®å®è¡æéãççž®ããããšã§ãã ããããã©ã®ããã«ïŒ åã¿ã¹ã¯ããã¹ãããå Žåã圱é¿ãåããã³ãŒããã«ããŒãããã¹ãã®ã¿ãå®è¡ã§ããŸãã ããããããã¯ãã¹ãŠãé åºéãã§ããããšã100ïŒ ä¿èšŒããããšã¯ãŸããããŸããïŒçµå±ãäœåãã®ã¯ã©ã¹ã§æ§æããããããžã§ã¯ãã§ã¯ããããã®éã®åŸ®åŠãªé¢ä¿ã远跡ããããšãæã é£ããã§ãïŒ æ¬ã«ãããšããã¹ããããã¯ã©ã¹ã®å¶éãè¶ ããªãã§ãã ããããããŠããã«è¯ã-ãã¹ãæ¹æ³ãããããããªãã¯ãã®ãããªãã¹ããèŠãããšããããŸããïŒ ïŒã ãããã£ãŠãè€æ°ã®ã¹ã¬ããã§ãã¹ãŠã®ãã¹ãã䞊è¡ããŠå®è¡ããå¿ èŠããããŸãã
æ zyãªãã®ã«å¯Ÿããæãç°¡åãªãœãªã¥ãŒã·ã§ã³ã¯ãããšãã°ãèªåã®æã§ããã€ãã®PHPUnit XMLæ§æãã¡ã€ã«ãäœæããããããå¥ã ã®ããã»ã¹ã§å®è¡ããããšã§ãã ããããããã¯çæéã§ååã§ãããããã®æ§æã®ç¶ç¶çãªãµããŒããå¿ èŠã«ãªããäžéšã®ãã¹ããŸãã¯ããã±ãŒãžå šäœãæ¬ èœããå¯èœæ§ãé«ããªããå®è¡æéãæé©ãšã¯ã»ã©é ãã§ãããã
é 延ã®æãç°¡åãªè§£æ±ºç㯠ããã¹ããã¹ã¬ããéã§åçã«åå²ããåçŽãªã¹ã¯ãªãããäœæããããšã§ãã ããããããæç¹ã§ã¯ããã¹ãã®æ°ã絶ããå¢å ããŠããããããã¹ãŠãç°ãªãé床ã§åäœããã¹ã¬ããéã§å®è¡æéã®å·®ãçãããããããèªäœã䜿ãæãããŸãã ãããã£ãŠãããããæ±ãããå¹æçã§å¶åŸ¡ãããæ¹æ³ãå¿ èŠã§ãã
çµè« ïŒãã¹ããã¹ããªãŒã éã§èªåçãã€åçã«åæ£ãããã¹ãã§ã³ãŒãã«ãã¬ããžãç¬ç«ããŠå¶åŸ¡ããã管çããããã·ã¹ãã ãå¿ èŠã§ãã
æ€çŽ¢ãã
PHPUnitã¯éåžžã«äžè¬çãªã·ã¹ãã ã§ããããããããã誰ãããã§ã«äŒŒããããªããšãããŠãæ€çŽ¢ãéå§ãããšèããŸããã
æåã®çµæã¯æåŸ ãè£åããã®ã§ã¯ãããŸããã§ãããããŸããŸãªçšåºŠã®å¯çšæ§ãšæ©èœã¬ãã«ã®ãœãªã¥ãŒã·ã§ã³ãå€æ°ãããŸããã ãããã¯ãbashã¹ã¯ãªãããPHPã¹ã¯ãªãããPHPUnitã®ã©ãããŒãããã«ã¯ã·ã¹ãã èªäœã®éåžžã«è€éã§å æ¬çãªãããã§ãã ç§ãã¡ã¯ãããã®ããã€ããè©Šãå§ããã³ãŒããæãäžãããããžã§ã¯ãã«é©å¿ããããšããèšå€§ãªæ°ã®åé¡ããããŸãããè«ççãšã©ãŒã«çŽé¢ããŸããã ããã¯é©ãã¹ãããšã§ããã100ããŒã»ã³ãã®å®çžŸã®ãããœãªã¥ãŒã·ã§ã³ã¯ãŸã ååšããªãã®ã§ããããã
ã»ãšãã©ã®ãªãã·ã§ã³ã¯ã次ã®2ã€ã®ã¹ããŒã ã®ããããã«åŸã£ãŠæ§ç¯ãããŸããã
- å¿ èŠãªãã¹ãŠã®ãã¡ã€ã«ãæ¢ããã¹ããªãŒã éã§åçã«åå²ããŸãã
- ãã¹ãã®äžè¬çãªãã¥ãŒãé 次åŠçããããããPHPUnitã«ããã£ãŒããããç¹å®ã®æ°ã®ã¹ã¬ãããéå§ããŸãã
æåã®æ¹æ³ã®æ¬ ç¹ã¯æããã§ãããã¹ããæé©ãªæ¹æ³ã§åæ£ãããªããããåœç¶ãªããäœæ¥ã®é床ãäžãããŸãããå€ãã®å Žåãä»ã®ãã¹ãŠã®ã¹ã¬ããããã3ã4åé·ãã¹ã¬ãããåäœããŸãã
2çªç®ã®æ¹æ³ã®æ¬ ç¹ã¯ããã»ã©æçœã§ã¯ãªããPHPUnitã®å éšæ§é ã®èå³æ·±ãæ©èœã«é¢é£ããŠããŸãã ãŸããPHPUnitããã»ã¹ã®åéå§ã«ã¯ããã¹ãç°å¢ã®ãšãã¥ã¬ãŒãããã¹ãã¯ã©ã¹ã®æ°ãšæ§é ã«é¢ããæ å ±ã®åéãªã©ãå€ãã®ã¢ã¯ã·ã§ã³ãå«ãŸããŸãã 第äºã«ãå€æ°ã®ãã¹ããéå§ãããšããPHPUnitã¯ãã¹ãŠã®ãã¹ãã®ãã¹ãŠã®ããŒã¿ãããã€ããŒãããªãcæãã€ã¹ããŒããªæ¹æ³ã§åéãããã£ã¹ã¯ããã³ããŒã¿ããŒã¹ã¢ã¯ã»ã¹ã®åæ°ãæå°éã«æããŸãïŒ ç¹°ãè¿ããŸãïŒæ¬åœã«æå¹ãªåäœãã¹ãã¯ãããŸããïŒ ïŒããããããã¯å©ç¹ã§ãã·ã¹ãã ã«äžåºŠã«1ã€ãã€ãã¹ããè¡ããšå€±ãããŸãã ç§ãã¡ã®å Žåããã®æ¹æ³ã¯ãã¹ãã§èšå€§ãªæ°ã®äžå¯è§£ãªãšã©ãŒãåŒãèµ·ãããŸããããã¹ãã®ã·ãŒã±ã³ã¹ã¯ã»ãšãã©åžžã«èµ·åããšã«å€ããããããã£ããããŠç¹°ãè¿ãã®ã¯éåžžã«å°é£ã§ããã
ãŸããPHPUnitéçºè ãããã«ãã«ãã¹ã¬ãããµããŒããå®è£ ããããšããæ å ±ãèŠã€ãããŸããã ããããåé¡ã¯ããããã®çŽæã1幎以äžåã®ãã®ã§ãããšããããšã§ãããããžã§ã¯ãã®éçºã«é¢ããã³ã¡ã³ãã¯ãã¡ã§ã倧ãŸããªäºæž¬ãããªãããããã®æ±ºå®ãåœãŠãã®ã¯ææå°æ©ã§ãã
ãããã®ãªãã·ã§ã³ã®ãã¹ãŠãæ°æ¥ãããŠç 究ããçµæãå®å šã«èšå®ããåé¡ã解決ã§ãããã®ã¯ãªãããããžã§ã¯ãã®çŸå®ã«æ倧éã«é©å¿ããç¬èªã®ãã®ãäœæããå¿ èŠããããšããçµè«ã«éããŸããã
åµé æ§ã®ç²
æåã®ã¢ã€ãã¢ã¯è¡šé¢ã«ãããŸããã ã»ãšãã©ã®ãã¹ãã¯ã©ã¹ã¯ã»ãŒåãæéã§åäœãããšå€æããŸããããæ°ååãŸãã¯æ°çŸåå®è¡ããããã®ããããŸãã ãããã£ãŠããããã®2çš®é¡ã®ãã¹ããåé¢ããïŒ ã€ãŸãããããã®ãäœéããã¹ããåå¥ã«æ±ºå®ããïŒããšã決å®ããäºãã«å¥ã ã«å®è¡ããããšã«ããŸããã ããšãã°ãæåã®5ã€ã®ã¹ã¬ããã§ãã¹ãŠã®ãé«éããã¹ããå®è¡ããä»ã®3ã€ã®ã¹ã¬ããã§ãã¹ãŠã®ãäœéããã¹ããå®è¡ããå¿ èŠããããŸãã çµæã¯éåžžã«è¯å¥œã§ãåãã¹ã¬ããæ°ã§ããã¹ãã¯2ã¹ã¬ããããŒãžã§ã³ãããçŽ2åéãåæ ŒããŸããããç°ãªãã¹ã¬ããã®æéã®åºããã¯äŸç¶ãšããŠé¡èã§ããã ãããã£ãŠããã¹ããã§ããã ãåçã«é åžããã«ã¯ããã¹ãã®å®è¡æéã«é¢ããæ å ±ãåéããå¿ èŠããããŸãã
次ã«æãã€ããã®ã¯ãåå®è¡åŸã«ãã¹ãã®æéãç¯çŽãããã®æ å ±ããã®åŸã®çµã¿åããã«äœ¿çšããããšã§ãã ãã ãããã®ã¢ã€ãã¢ã«ã¯æ¬ ç¹ããããŸããã ããšãã°ãçµ±èšãã©ãããã§ãã¢ã¯ã»ã¹ã§ããããã«ããã«ã¯ãããŒã¿ããŒã¹ãªã©ã®å€éšã¹ãã¬ãŒãžã«ä¿åããå¿ èŠããããŸããã 2ã€ã®åé¡ããããŸãã1ã€ç®ã¯ããã®æäœãå®äºããå ·äœçãªæéã§ãã2ã€ç®ã¯ãè€æ°ã®ãŠãŒã¶ãŒãåæã«ãã®ãªããžããªã«ã¢ã¯ã»ã¹ãããšãã«ç«¶åãçºçããŸãïŒ ãã¡ããããã©ã³ã¶ã¯ã·ã§ã³ãããã¯ãªã©ã䜿çšããŠè§£æ±ºãããŸãããé床ãããã³ç«¶åã®è§£æ±ºã¯ããã»ã¹ãé ãããŸã ïŒã ç¹å¥ãªæ¡ä»¶ãŸãã¯ç¹å®ã®åšæã§ããŒã¿ãä¿åããããšã¯å¯èœã§ããããããã¯ãã¹ãŠæä»çãªãã¯ã©ã³ããã§ãã
ããããã誰ããèªã¿åãå°çšã«è¡ãç¹å®ã®éé¢ãããå Žæã§çµ±èšãåéããå¿ èŠããããèšé²ã¯å¥ã®ãã®ã§è¡ãããããšã«ãªããŸããã TeamCityãæãåºããã®ã¯ãã®ç¬éã§ããããããã«ã€ããŠã¯åŸã§è©³ãã説æããŸãã
å¥ã®åé¡ããããŸãïŒãã¹ãã®å®è¡æéã¯ããµãŒããŒã®ããã©ãŒãã³ã¹ãæ¥æ¿ã«äœäžãããªã©ãããŒã«ã«ã§ãããµãŒããŒã®è² è·ãå¢å ãŸãã¯æžå°ãããšãã«ãåžžã«å€åããå¯èœæ§ããããŸãïŒ ãã¹ãã¯ãéçºããã³å®è¡ããŠããåããã·ã³ã§å®è¡ãããŸããªãœãŒã¹ãéäžçã«äœ¿çšããã¹ã¯ãªããã®éçºè ã¯ããã¹ãã®æéã«å€§ãã圱é¿ããŸã ïŒã ã€ãŸããçµ±èšãæ倧éã«æŽæ°ããã«ã¯ãå¹³åå€ã环ç©ããŠäœ¿çšããå¿ èŠããããŸãã
ãã®ãŠãŒãã£ãªãã£ã®èšå®æ¹æ³ã¯ïŒ æåã®å®è£ ã§ã¯ããã¹ãŠã®å¶åŸ¡ã¯ã³ãã³ãã©ã€ã³ãã©ã¡ãŒã¿ãŒã«ãã£ãŠå®è¡ãããŸããã ã€ãŸãããŠãŒãã£ãªãã£ãPHPUnitã®ãã©ã¡ãŒã¿ãŒã䜿çšããŠå®è¡ããèµ·åããããã»ã¹ã«æž¡ããç¬èªã®ããã»ã¹ãè¿œå ããŸãã-ããšãã°ãå®è¡ãããã¹ãã®å®å šãªãªã¹ãïŒ ãããŠé©ãã¹ãPHPUnitã®èµ·åè¡ã¯æ°åæåã®é·ãã§ããïŒã ããã¯äžäŸ¿ã§ãããéä¿¡ããããã©ã¡ãŒã¿ãããäžåºŠèããããæ°ãããšã©ãŒã®åºçŸã«å¯äžããããšã¯æããã§ãã å€ãã®å®éšãçµãŠãæãç°¡åãªè§£æ±ºçãããããå®çŸããŸãããæšæºã®PHPUnitæ§æXMLãã¡ã€ã«ã䜿çšããŠããããã®èšå®ãå€æŽããããã€ãã®ã«ã¹ã¿ã XMLã¿ã°ãæ§é ã«è¿œå ã§ããŸãã ãããã£ãŠããããã®æ§æãã¡ã€ã«ã䜿çšãããšãçŽç²ãªPHPUnitãšãŠãŒãã£ãªãã£ã®äž¡æ¹ãåãçµæã§å®è¡ã§ããŸãïŒ ãã¡ããããã®å Žåã®é床ã®å¢å ã¯èæ ®ãããŸãã ïŒã
解決ç
ããã§ãäœæéãã®èšç»ãéçºãæ·±å»ãªãã°ã®æ€çŽ¢ããã€ããŒãªãã°ã®çºèŠã®åŸãç§ãã¡ã¯çŸåšåäœããã·ã¹ãã ã«æ¥ãŸããã
ãã«ãã¹ã¬ããã©ã³ãã£ãŒïŒãŸãã¯ãæ称ã§ãã©ã³ãã£ãŒããšåŒã¶ïŒã¯ã3ã€ã®ç¬ç«ããã¯ã©ã¹ã§æ§æãããŠããŸãã
- ãã¹ãå®è¡æéã®çµ±èšãåéããã³ä¿åããããã®ã¯ã©ã¹ã
- ãããã®çµ±èšãååŸããããã®ã¯ã©ã¹ãšããã¹ãã®é åžãããã
- PHPUnitæ§æãã¡ã€ã«ãçæãããã®ããã»ã¹ãéå§ããããã®ã¯ã©ã¹ã
æåã®ã¯ã©ã¹ã¯TeamCityã§åäœããŸãã 圌女ã¯å®æçã«ãã¹ãŠã®ãã¹ããå®è¡ãããã«ããèµ·åãããã®åŸçµ±èšã³ã¬ã¯ã¿ãŒãå«ããŸãã ãã®ã³ã©ãã¬ãŒã·ã§ã³ã«ã¯ãé·æãšçæã®äž¡æ¹ããããŸãã äžæ¹ã§ã¯ãTeamCityèªäœã¯å®è¡äžã®ãã¹ãŠã®ãã¹ãã®çµ±èšãåéããŸãããä»æ¹ã§ã¯ãTeamCity APIã¯ãã®æ å ±ãæäœããããã®ããŒã«ãæäŸããŸããïŒ ãã€ãã£ãã§ããããã«éçºãããREST APIã§ããªãããïŒãããŒã¿ããŒã¹ã«çŽæ¥é£çµ¡ããå¿ èŠããããŸã圌女ã¯åããŠããŸãã
ããã§å°ããªåé¡ã«çŽé¢ããŠããŸãã ã¹ã¬ããéã§ãã¹ããåçã«åæ£ããããã®æ å ±ã®åäœãšããŠãã¹ãã¯ã©ã¹ãã¡ã€ã«ã«æäŸãããå ã®ã¢ãŒããã¯ãã£ïŒ ããã¯PHPUnitæ§æãã¡ã€ã«ã®æãèªç¶ãªæ¹æ³ã§ãããã ïŒã ãŸããTeamCityã¯çµ±èšããã¡ã€ã«ã«ãªã³ã¯ããã«ãåå¥ã®ãã¹ãã«ä¿åããŸãã ãããã£ãŠãã³ã¬ã¯ã¿ãŒã¯ããŒã¿ããŒã¹ãããã¹ãçµ±èšãèªã¿åãããã¹ããã¯ã©ã¹ãšãã¯ã©ã¹ããã¡ã€ã«ãšçžé¢ããããã®åœ¢åŒã§çµ±èšãä¿åããŸãã
ããã¯ããªããªãœãŒã¹ãæ¶è²»ããã¿ã¹ã¯ã®ããã«æãããããããŸããããéä¿¡ãã¯ã©ã¹=>ãã¡ã€ã«ãããã£ãã·ã¥ããã·ã³ãã«ãªã·ã¹ãã ãäœæããŸãããæ°ããã¯ã©ã¹ãåºçŸããåéå§æã®æ°ãããã»ã©å€ããªãå Žåã«ã®ã¿ã³ã¬ã¯ã¿ãŒã«ãã£ãŠããŒãã¯ãŒã¯ãè¡ãããŸãã
çµ±èšã¯ãéå»7æ¥éã«7ã€ã®ã³ããŒã§ç¬èªã®ããŒã¿ããŒã¹ã«ä¿åãããŸãã æ¯æ¥åã³åéãããŸããããã¡ã€ã«ãé åžããå Žåãå é±å šäœã®ããŒã¿ã䜿çšãããçµ±èšãæ°ããã»ã©ãå¹³åæéãèšç®ããéã®ãéã¿ããé«ããªããŸãã ãããã£ãŠããã¹ãã®å®è¡æéã1åå¢ãããŠãçµ±èšã«å€§ããªåœ±é¿ã¯ãªããæä¹ çãªå€æŽã¯ããã«èæ ®ãããŸãã
2çªç®ã®ã¯ã©ã¹ã¯ãå¯èœãªéãåçŽãªã¢ã«ãŽãªãºã ã§åã¹ããªãŒã ã®ãã¡ã€ã«ãªã¹ããçæããŸãã ããŒã¿ããŒã¹ããæ å ±ãåãåãããã¹ãŠã®ãã¡ã€ã«ãå®è¡æéããšã«æ倧ããæå°ã«ãœãŒããããæã空ãã®ããã¹ããªãŒã å ã®ååŸç¶ãã¡ã€ã«ãã®ååã«åŸã£ãŠã¹ããªãŒã ããšã«ããããé åžããŸãã å€ãã®ãã¹ããããã倧ããªãã¹ããããå°ããªãã¹ããå€ããšããäºå®ã«ããããã¹ãŠã®ã¹ã¬ããã®äºæ³ãããåäœæéã¯æ°ç§ã ãç°ãªããŸãïŒ ãã¡ãããå®éã®ã¹ã¬ããã¯ãããã«å€§ãããªããŸããããã®å·®ã¯ããã»ã©éèŠã§ã¯ãããŸãã ïŒã
å³åŽã®å³ã§ã¯ãåã¯ãããŒã§ãããåãããªãã¯ãã¯åå¥ã®ãã¹ãã§ããããã®é«ãã¯åæ Œã«èŠããæéã«æ¯äŸããŸãã
3çªç®ã®ã¯ã©ã¹ã¯ãæãèå³æ·±ããã®ãæ±ããŸãã ã¡ã€ã³ã¢ãŒãã§ã¯ãæšæºã®PHPUnitæ§æãå ¥åãšããŠåãå ¥ãããã¹ããã£ã¬ã¯ããªãšç¹å®ã®ãã¡ã€ã«ãæå®ããŸãã ãã¹ãããé ããïŒ äžéšã®ãã¹ãã®æéã¯å€éšèŠå ã«äŸåããä»ã®ãã¹ããšã¯å¥ã«å®è¡ããå¿ èŠããããŸã ïŒããã³ãåé¢ãïŒ ä»ã®ãã¹ãŠã®ãã¹ããå®äºããåŸã«å¥ã®ã¹ã¬ããã§å®è¡ããã ïŒãšããŠããŒã¯ããæ©èœããããŸã ã 次ã«ãã©ã³ãã£ãŒã¯ãå¿ èŠãªTestListenerãªã©ã®å¿ èŠãªãã¹ãŠã®ãã©ã¡ãŒã¿ãŒã䜿çšããŠç¬èªã®PHPUnitæ§æã圢æãããã¹ãã¹ã€ãŒãã¯åã¹ã¬ããã§å®è¡ãããã¡ã€ã«ã®ãªã¹ãã§ãã ãããã£ãŠããã®åŸã¯ããã®æ§æã§ããã€ãã®PHPUnitããã»ã¹ãéå§ããå¿ èŠãªãã¹ãã¹ã€ãŒããæå®ããã ãã§ååã§ãã ã¡ã€ã³ã¢ãŒãã«å ããŠããã¹ãããããã°ããæ©äŒããããŸããææ°ãŸãã¯ãã®ä»ã®çæãããæ§æã§éå§ãããæšæºã®TestListener PHPUnitã䜿çšãããå¥ã®é åºã§ãã¹ããå®è¡ãããªã©
TestListener'ahãšããã°ïŒ ããã¯ãå®è¡ããããã¹ãã«é¢ããæ å ±ã衚瀺ããããã«äœ¿çšãããæšæºã®PHPUnitã€ã³ã¿ãŒãã§ã€ã¹ã§ãïŒã æåã¯ãã©ã³ãã£ãŒã¯ããã©ã«ãã§PHPUnitãšåã圢åŒã§æ å ±ã衚瀺ããŠããŸããã ããããå©äŸ¿æ§ãé«ããããã«ãæ å ±ãããã³ã³ãã¯ãã§èªã¿ããããã®ã«ããç¬èªã®ãªã¹ããŒãäœæããSTDOUTãSTDERRã®ã€ã³ã¿ãŒã»ãããªã©ã®æ°æ©èœãè¿œå ããŸããã
ããã«ãTeamCityã«æ å ±ãæåŸ ãã圢åŒã§è¡šç€ºããããã®TestListenerããããŸãïŒ çµæãšããŠ1åã®èµ·åã§ã®ããã¹ãã¬ããŒãã®éã¿ã5ã¡ã¬ãã€ãã«éããã»ã©æã ïŒã
ãŸãšã
ä»ãããã€ãã®æ°åã
8ã¹ã¬ããã§17000以äžã®ãã¹ããå®è¡ããŸãïŒ ããã«ãéåžžã®ç¶æ³ã§ã¯1åã§ãã¹ãŠãééãããäœéããã¹ãçšã«3ã€ã®ãã¹ããè¿œå ïŒã
æè¯ã®å ŽåïŒ ãã¹ããµãŒããŒã®æšæºè² è·ã§ ïŒãã¹ã¿ãŒã¿ãŒã®å©ããåããŠãã¹ããè¡ããšã1ã€ã®ã¹ã¬ããã§40ã50åãåçã«åæ£ããå Žåã¯8ã15åã§ããã®ã«å¯ŸããŠã3.5ã4åã§åæ ŒããŸãã
ãµãŒããŒã®è² è·ãé«ãå Žåãã©ã³ãã£ãŒã¯ç¶æ³ã«ãã°ããé©å¿ãã8ã10åã§è§£æ±ºããŸãã ãã¹ããåçã«é åžãããšãå°ãªããšã20ã25åéåããŸãã...ãããŠã1ã€ã®ã¹ã¬ããã§ãã¹ããå®äºããã®ãäžåºŠãåŸ ã¡ãŸããã§ããã
ãã®çµæãTeamCityããåãåã£ãçµ±èšã®ãããã§ãµãŒããŒã®è² è·ã®å€åã«ç¬ç«ããŠé©å¿ãããããŒããšã«ãã¹ããèªåçã«åæ£ãã管çãšæ§æã容æãªã·ã¹ãã ãæã«å ¥ããŸããã
ãã®ãããªãã¹ãã®å®è¡ãé«éåããã®ã¯ãªãã§ããïŒ
- æåã«ãã¿ã¹ã¯ã®ãã¹ãã®é床ãäžããŸããã
- 第äºã«ãé »ç¹ã«ãã¹ããå®è¡ãããããã¿ã¹ã¯ãã©ã³ãããªãªãŒã¹ãã©ã³ãã«å€§éã«ããŒãžãããéã«èŽåœçãªãšã©ãŒããã£ãããã確çãå€§å¹ ã«äœäžããŸããã
- 第äžã«ãTeamCityãšãŒãžã§ã³ãã¯å€§å¹ ã«ç·©åãããŸããããã¹ãã¯1ã€ã®ãã«ãããé ãé¢ããŠå®è¡ãããQAãšã³ãžãã¢ããã®ç¹å¥ãªã¿ã¹ã¯ã®ããã®èªç±ãªæéãå®éã«æã£ãŠããŸãã
- 第4ã«ããã¹ãçšã®ã¿ã¹ã¯ãéä¿¡ãããšãã«ãã¹ããèªåçã«å®è¡ã§ããããã«ãªã£ãããããã¹ãæ åœè ã¯ãã¿ã¹ã¯ã³ãŒããåä¿¡ãããšãã®ç¶æ ã«é¢ããæ å ±ãååŸã§ããŸãã
次ã¯ïŒ
ã·ã¹ãã ãæ¹åããæ¹æ³ã«ã€ããŠã¯ããŸã å€ãã®ã¢ã€ãã¢ãšèšç»ããããŸãã ããã€ãã®æ¢ç¥ã®åé¡ããããŸãïŒæã ãã·ã³ã°ã«ã¹ã¬ããèµ·åããæ®ã£ããã¹ãã®åé¢ã«å°é£ããããã¯ã³ã¯ãªãã¯ã§ã©ã³ãã£ãŒãå¥ã®ãããžã§ã¯ãã«è»¢éããããšãã§ããŸãã-ãã®ãããã·ã¹ãã ã¯éåžžã«å°è±¡çãªçµæãéæããŠããŸãããä»åŸã®äœæ¥ã®åéã¯ãŸã éåžžã«å€§ããã§ãã
è¿ãå°æ¥ïŒ6æã楜ãã¿ã«ããŠããŸãïŒãã·ã¹ãã ã®å®å šãªãªãã¡ã¯ã¿ãªã³ã°ãšæ¹èšãè¡ããããªãŒãã³ãœãŒã¹ãããžã§ã¯ãã«å€æã§ããããã«ãªããŸãã
ã©ã³ãã£ãŒã«ã¯ãŠãŒãã£ãªãã£ãçµã¿èŸŒãŸããŠããããã1ã€ã®ãã¹ããå€æ°ã®ããŒã¿ãããã€ããŒãå«ãè€æ°ã®ã¹ããªãŒã ã«åå²ããããç°å¢ãç Žå£ãããã¹ããæ¢ããããç¹å®ã®ãã¹ããç Žå£ããã³ãããã決å®ãããã§ããŸãã
ããã«ãã·ã¹ãã ã¢ãŒããã¯ãã£ãå€æŽããããããéçºè ã¯ã©ã³ãã£ãŒãTeamCityããåé¡ãªããã€ã³ã解é€ããŠãããšãã°Jenkinsã«ãã€ã³ãããããããŒã«ã«ã§ã®ã¿äœæ¥ãããã§ããŸãã
ç§ãã¡ã®ãã«ãã¹ã¬ããã©ã³ãã£ãŒã¯ãããçš®ã®é©åœããã¹ãèªååã®æ°èªã§ãããšã¯èšããããããŸãããããããžã§ã¯ãã§ã¯æé«ã®åŽé¢ã瀺ããããã€ãã®æ¬ ç¹ã«ãããããããä»ã®ãã¹ãŠã®ãããªãã¯ãœãªã¥ãŒã·ã§ã³ãããã¯ããã«å¹ççã«æ©èœããŸãã
QAãšã³ãžãã¢ã®ã€ãªã€ã¯ãã£ããã