æè¿ãç§ã¯å°ããªã¢ããªã±ãŒã·ã§ã³ããŒãããäœæãããšããã¿ã¹ã¯ã®ããæ°ãããããžã§ã¯ãã«çæããŸããã ç§ã¯ãã¹ã¿ãŒãšè©±ããŸãïŒ
-ãããŠãã©ã®ããã«æ°ããããŒãžã§ã³ãæäŸããŸããïŒ
-SVNã䜿çšããŠããããžã§ã¯ãã®ä»ã®å
šå¡ã奜ãã«ã§ããŸãã
-ã€ãŸããããªãèªèº«ãæ§ç¯ããŸããïŒ
-ããããããã...ãããããã€ããªãååŸããŸããå€ãã®ããã°ã©ããŒã¯ãããšã眲åã«ã·ãã¢ãã¹ãŒããªã¢ãªã©ã®çœ²åããã£ããšããŠãã人çã®äžã§CIã®æŠå¿µã«åºäŒã£ãããšã¯ãªãããããäœã§ãããã«ã€ããŠã»ãšãã©ç¥ããªãããšãããããŸããã ãã®ããŒãã«é¢ããHabréã®å¥ã®åºçç©ãèŠã€ãããªãã£ããããç§ã¯ã®ã£ãããåããããšã決å®ããŸãããåæã«ãå¯èœãªéãæè¿ã®æåŸ
ãç²åŸããŸããã
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ããªãããªããã©ã®ããã«ïŒ
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ïŒç¥ããŠCIïŒã¯ã人çã倧å¹
ã«ç°¡çŽ åã§ããç¹å¥ãªãœãããŠã§ã¢éçºååã§ãã ãããæã«ããå ŽåãCIã·ã¹ãã ã¯ãœãŒã¹ç®¡çãç£èŠããäžçš®ã®ããã°ã©ã ã§ãããå€æŽãããã«è¡šç€ºããããšãèªåçã«ãããããŸãšããŠãã«ããããã¹ããå®è¡ããŸãïŒãã¡ããèšè¿°ãããŠããå ŽåïŒã 倱æããå Žåãæåã«æåŸã®ã³ããã¿ãŒã«ãããããã¹ãŠã®é¢ä¿è
ã«ç¥ãããŸãã
ããã«ããäœãåŸãããŸããïŒ ãŸãããã€ã§ããã·ã¹ãã å
ã®ãœãŒã¹ã®ç¶æ
ã«é¢ããä¿¡é Œã§ããæ
å ±ããããŸãã æåŸã®ãã«ãã倱æïŒããããããïŒããå ŽåãSortsã³ã³ãããŒã«ããææ°ããŒãžã§ã³ãååŸã§ããŸãã-ã³ã³ãã€ã«ããã§ããªãå ŽåããããŸããç·è²ã§æåããå Žåã¯ããã¹ãŠæ£åžžã§ãã 第äºã«ããåå©ãã®ç¯äººãèŠã€ããã®ã¯éåžžã«ç°¡åã§ã-ãããæåŸã®ã³ããã¿ãŒã§ããå¯èœæ§ãé«ãã§ã-圌ã¯ãä¿®çãã®è²¬ä»»ãè² ããŸãã ãšããã§ããã®ãããªç°å¢ã§ã¯ãæãåªå
床ã®é«ãã¿ã¹ã¯ã¯ãã«ããä¿®æ£ããããšã§ãã
ãããžã§ã¯ãã§åäœãã¹ãã䜿çšãããŠããå Žåããã«ãããšã«åäœãã¹ããå®è¡ãããšãååž°ãã°ããªãããšãããçšåºŠä¿èšŒãããŸãïŒããå Žæã§ä¿®åŸ©ãããå¥ã®å Žæã§èœã¡ãå ŽåïŒã
ãŸããã«ãã¬ããžãéçåæãéè€ã³ãŒãæ€çŽ¢ãªã©ããã«ãã«ããŸããŸãªã³ãŒãå質ã¡ããªãã¯ãå«ãããããã¹ããã·ã³ãžã®ã€ã³ã¹ããŒã«ãèªååãããããããšãã§ããŸãã
ããã§ã¯èª¿çæ¹æ³ã¯ïŒ
CruiseControlãCruiseControl.NetãAtlassian BambooãHudsonãMicrosoft Team Foundation Serverãæãæµ®ãã³ãŸãããå人çã«ã¯ãOpenSourceã§ã¯ãããŸããããå°èŠæš¡ãªãããžã§ã¯ãã«ã¯ç¡æã®TeamCityãå人çã«æ°ã«å
¥ã£ãŠããŸãã
ãããã£ãŠã.NetïŒVS2008SP1ïŒäžã®å°ããªãããžã§ã¯ãã®TeamCity CIã®äžã§å®è¡ããå¿
èŠããããŸãããã®ãããžã§ã¯ãã¯SVNã«æ ŒçŽãããŠãããnUnitã®ãã¹ããå«ãŸããŠããŸãã ã芧ã®ãšãããTeamCityã§ãããå®è¡ããããã«ã1è¡ã®ã³ãŒã/æ§æãèšè¿°ããå¿
èŠã¯ãããŸããã
ãŸãããµãŒããŒãå¿
èŠã§ãã ã¯ããç§ã¯ç¥ã£ãŠããŸããããã¯ãã§ã«ããªããããããããŸãããç§ã¯ç®¡çè
ã«è¡ã£ãŠèšããšãè¯å®çãªçµæã«èªä¿¡ããããŸãïŒç®¡çè
ã«è¡ã£ãŠèšããšãç§ã«ãµãŒããŒãäžããŠãã ããïŒããšãã°ãååãåããããŠãã ããã ããã§ããã§ã«ãµãŒããŒãæã£ãŠãããšããŸããããããã¯ä»®æ³ã§ãã next-next-nextãã¯ãªãã¯ããã ãã§ãTeamCityãã€ã³ã¹ããŒã«ããŸã-ããã©ã«ãã®ã€ã³ã¹ããŒã«ã¯ããªããŸãšãã§ãã å°æ¥çã«ã¯ãã»ãšãã©ã®èšå®ã¯å€æŽã§ããŸãããããã§ã¯ãå€æŽãå¿
èŠãªèšå®ã®ã¿ã瀺ããŸãã ãŸããå°æ¥ã®ããã«ãããã¯ããã«äŸ¿å©ã«ãªããé©åãªããŒãžã§ã³ã®.Net FrameworkïŒãã®å Žåã¯3.5SP1ïŒãšWindows SDKãå
¥ããŸãã
ã¯ããã«ïŒèšå®
ãã®ãããTeamCityã§ã¯ãã€ã³ã¹ããŒã«ã®å®äºæã«æ°ãããããžã§ã¯ããäœæããŸããããã¯å®éã«ã¯åã
ã®ãã«ãæ§æã®åãªãã°ã«ãŒãã§ããããã®äžã«æ°ããæ§æãäœæããŸãã
ãã®ããŒãžã§ææã§ãããã1ã€ã®ããšã¯ãProjectName \ bin \ Release \ *ã®ãããªããã€ããªãžã®ãã¹ãããšãã°Artifactsãã£ãŒã«ãã§ãã äžè¬ã«ãã¢ãŒãã£ãã¡ã¯ãã¯ããã«ãçµæãšããŠæå³ã®ãããã¡ã€ã«ã§ããããã€ããªããã°ãåæçµæãªã©ã«ãªããŸãã 次ã«ããã«ãããšã«Webã€ã³ã¿ãŒãã§ã€ã¹ããé©åã«ããŠã³ããŒãã§ããŸãã
ãšããã§...æ®å¿µãªãããvdprojã®æšæºçãªVisual Studioã€ã³ã¹ããŒã«ãããžã§ã¯ãã¯msbuildãšäºææ§ããããŸãããmsbuildã¯å
éšã§æ±ãäœæ¥ãããŠããŸãã ãããã£ãŠããã«ãã®çµæãšããŠæ¢è£œã®msiãååŸãããå Žåã¯ãå°ãæ€èšããå¿
èŠããããŸãã ããããããã«ã€ããŠã¯åŸã§ã
ããŒãžã§ã³ç®¡çã·ã¹ãã
[次ãž]ãã¯ãªãã¯ããŠãããŒãžã§ã³ç®¡çã·ã¹ãã å°çšã®ããŒãžãèŠã€ããŸãã æåã«ãVCSã«ãŒããäœæããå¿
èŠããããŸãã 説æããŠã¿ãŸããããããšãã°ãé£æ¥ãããã©ã«ããŒã«ããè€æ°ã®ãããžã§ã¯ãã«åããœãŒã¹ç®¡çã䜿çšããŸãã 次ã«ãããããã«åå¥ã«ã¢ã¯ã»ã¹ãæ§æããããšã¯æå³ããããŸãã-ã«ãŒããžã®ã¢ã¯ã»ã¹ãæ§æããã ãã§ãåæ§æã§å¿
èŠãªãœãŒã¹ã³ãŒãã®éšåã瀺ãã ãã§ãã ãããã£ãŠãæ°ããVCSã«ãŒããäœæããŠæ¥ç¶ãã次ã«VCSã®ã¿ã€ãïŒSubversionããããŸãïŒã§ãã¿ã€ãã«å¿ããŠãããã«èšå®ãè¡ããŸããsvnã«ã¯ãããããURLããŠãŒã¶ãŒåããã¹ã¯ãŒãããããŸãã ããŒãžã®äžéšã«ããã©ãã«ä»ãã«ãŒã«èšå®ã®å€§ããªã°ã«ãŒãã¯ããã«ããæåãããããã®ã¿ã°ãäœæããå Žåã«äœ¿çšããŸããã¡ãªã¿ã«ãæåããæšæºã®ãªããžããªæ§é ãèšå®ããŸããã [æ¥ç¶ã®ãã¹ã]ãã¿ã³ã䜿çšããŠãå
¥åããããŒã¿ã®æ£ç¢ºæ§ã確èªããä¿åããŸãã æ°ããäœæãããã«ãŒããäžéšã«è¡šç€ºãããæ§æã®éžæå¶åŸ¡ããŒãžã«æ»ãããã§ãã¯ã¢ãŠãã«ãŒã«ãè¿œå ããå¿
èŠããããŸãã ãªããžããªã®ã©ã®éšåãæ§ç¯ãããã決å®ããŸãã ããšãã°ããããžã§ã¯ãã
svn.company.com/trunk/projectã«ããå Žåã
svn.company.comã«ã«ãŒããã€ã³ã¹ããŒã«ãã次ã®ããã«ã«ãŒã«ãèšå®ããããšã¯çã«ããªã£ãŠããŸãã
+:trunk/project=>.
ã€ãŸããSVNã®ã«ãŒãã«çžå¯Ÿçãªã¢ãã¬ã¹ã§SVNã«ãããã®ãååŸããã¢ã¯ãã£ããªäœæ¥ãã©ã«ããŒã«ååŸããŸãã ãœãªã¥ãŒã·ã§ã³ãã¡ã€ã«ãžã®ãã¹ãã¢ãŒãã£ãã¡ã¯ããžã®ãã¹ãªã©ãä»ã®ãã¹ãŠã®ãã¹ã¯ãããã«å¯ŸããŠçžå¯Ÿçã«èšå®ãããŸãã
å®éã«ãã«ãïŒãã©ã³ããŒã
ãã¹ãŠãæãèå³æ·±ãéšåã«é²ãããšãã§ããŸãããã©ã³ããŒãã®éžæãã€ãŸãå®éã«ãã«ããå®è¡ããããã»ã¹ã§ãã ããã«äœ¿çšã§ããTeamCityã¯ãAntãMavenãªã©ãããŸããŸãªã©ã³ããŒããµããŒãããŠããŸããããã«èå³æ·±ãã®ã¯ãNAntãMSBuildãããã³sln200 *ã§ãã
ãŸã第äžã«ãsln2008ã¯ç§ãã¡ã®ããã§ãã ãã©ã¡ãŒã¿ãŒããããœãªã¥ãŒã·ã§ã³ãã¡ã€ã«ãžã®ãã¹ã瀺ãã ãã§ååã§ãïŒæ¢ã«è¿°ã¹ãããã«-ã«ãŒã«ã§æå®ãããã«ãŒããåºæºã«ããŠïŒã 次ã«ãNUnitèšå®ãå«ãã»ã¯ã·ã§ã³ããããŸããããã§ã¯ããã¹ãã§dllãã¡ã€ã«ã®ããŒãžã§ã³ãšãã¹ãæå®ããã ãã§ååã§ãã ããã ãã§ã ä¿åãããšã次ã®ããŒãžã«ç§»åããŸãããããã¯ãæ§æããã§ã«äœæãããŠããã䜿çšå¯èœã§ããããã§ãã ãã¡ãããããããã¹ãŠç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãšåŒã¶ã«ã¯ããã«ããèµ·åããããã®æ¡ä»¶ãè¿œå ããå¿
èŠããããŸããã€ã³ã¿ãŒãã§ãŒã¹ã®å³äžéšåã«ã¯ã4çªã®ãã«ãããªã¬ãŒã®ãªã³ã¯ããããŸãã ããã§ã¯ãå¯äžã®é³¥ã眮ãå¿
èŠããããŸã-ãã¡ã€ã«ãVCSã«ãã§ãã¯ã€ã³ããããšãã«ããªã¬ãŒãæå¹ã«ããŸãã ããã§ãããããžã§ã¯ããããŒãžã«åãæ¿ããŠããã«ãè¡ã®ãå®è¡ããã¿ã³ãæŒãããšãã§ããŸãã ãã¹ãŠãæ£ããè¡ãããå ŽåïŒãœãŒã¹ã³ãŒããé©åãªå ŽåïŒ-ãã«ããšããåèªã®æšªã®ã¢ã€ã³ã³ãç·è²ã«å€ãããæ£åžžã«å®äºãããã¹ãã®æ°ãäžã«è¡šç€ºãããŸãã
éçºæ¹æ³
ã¯ããããªããæãããã«ã éè€ã³ãŒãæ€çŽ¢ãŸãã¯FxCopãæå¹ã«ã§ããŸã-察å¿ããã©ã³ããŒã¯æ¢ã«TeamCityã«å«ãŸããŠããŸãã å±éãèªååã§ããŸã-ããã§ã¯ãããé£ããããå¿
èŠããããŸãã
ãã¡ããããããžã§ã¯ããåçŽãªã³ããŒã«äŸåããŠããå Žåã¯ãåçŽãªã³ãã³ãã©ã€ã³ã©ã³ããŒã«åºã¥ããŠæ§æãäœæãããã«ãã®ã¢ãŒãã£ãã¡ã¯ãã«äŸåé¢ä¿ãè¿œå ããŠæ¥œããããšãã§ããŸãã
ããããããšãã°ãµãŒãã¹ããããã«æªãããšã«ããŒã¿ããŒã¹ãããå Žåã¯ã©ãã§ããããïŒ
å±éåã®WindowsãµãŒãã¹ãåæ¢ãæžãæããéå§ããå¿
èŠããããŸããããŒã¿ããŒã¹ãåäœæãŸãã¯æŽæ°ããå¿
èŠããããŸãã
ãããNAntãŸãã¯MSBuildã®åºçªã§ãã äžæ¹ãšä»æ¹ã®äž¡æ¹ã§ã¹ã¯ãªãããäœæããŸããããç¹å¥ãªå¥œã¿ããããšèšãã®ã¯é£ããã§ãã ãããã¯ã»ãŒåãã§ãããããã«é·æãšçæããããŸãã ããšãã°ãnantã¯Visual Studioãããžã§ã¯ãã§åäœããããã«åãmsbuildãåŒã³åºããŸããmsbuildã¯ããã©ã«ãã§.netãã¬ãŒã ã¯ãŒã¯ãšãšãã«ã€ã³ã¹ããŒã«ãããŸãã ãããäžæ¹ã§ãnantã«ã¯nant-contribã¢ããªã³ã®ããªã倧ããªã©ã€ãã©ãªããããŸãã äžè¬çã«-奜ã¿ã®åé¡ã
ã§ã¯ããã®ãããªã¹ã¯ãªããããããžã§ã¯ãã«è¿œå ããæ¹æ³ã¯ïŒ ã³ã³ãããŒã«ã«è¿œå ããŠãé©åãªã©ã³ããŒãèšå®ããã ãã§ãã
ç§ã®ãµã€ããWindowsãµãŒãã¹ãããã³ããŒã¿ããŒã¹ã䜿çšããå
žåçãªãããžã§ã¯ããã«ãã¹ã¯ãªããã¯ããããžã§ã¯ãããã«ããããã³ãã¬ãŒãã«åŸã£ãŠæ§æãæŽæ°ããã¡ã³ããã³ã¹ã¡ãã»ãŒãžããµã€ãã«é
眮ããéçºãµãŒããŒã®ãµãŒãã¹ãåæ¢ããx-copyéçºãµãŒããŒã«ãã¹ãŠãå±éããŸãã SORTSã³ã³ãããŒã«ã®ã¹ã¯ãªããã䜿çšããŠããŒã¿ããŒã¹ãæŽæ°ãïŒãã¡ãããå¿
èŠãªå ŽåïŒããµãŒãã¹ãéå§ããmaintance-messageãåé€ããŸãã ãã®ã¹ã¯ãªããã®å©ç¹ã¯ãå€æŽãªãã§ã©ã€ãç°å¢ã«å±éããã®ã«é©ããŠããããšã§ãã
äžè¬ã«ãããã¯å¥ã®äŒè©±ã®ãããã¯ã§ãããã®æçš¿ãæ°ã«å
¥ã£ããç¶ããŸãã
psãŸããvdprojã®ãã«ãæ¹æ³ãäŒããããšãçŽæããŸããã æ£è§£ã¯Visual Studioã§ãã ã¯ããæ®å¿µãªãããã«ããµãŒããŒã«ã€ã³ã¹ããŒã«ããå¿
èŠããããŸãã ããã¯ãããšãã°æ¬¡ã®
ããã«å®è¡ã§ããŸãã
ppsãœãããŠã§ã¢ã®JetBrainsã«æè¬ããŸãã
pppsæåŸ
ããŠãããMitzgolã«ããã«æè¬ããŸãã