
ã¿ãªããããã«ã¡ã¯ïŒ Vorlon.JSããŒã ã«ããäžé£ã®èšäºãDevOpsã®ãããã€æ¹æ³ããç¶ç¶ããŸãããã€ã¯ããœããã¯ãDevOpsãã©ã¯ãã£ã¹ã®å®è£ ã«äœ¿çšã§ããå€æ°ã®ããŒã«ãæäŸããŠããŸãããã®ã·ãªãŒãºã§ã¯ãVisual Studio Team ServicesãVisual Studio Codeãããã³Microsoft Azureãšã®é£æºã«ã€ããŠè©³ãã説æããŸãã ãã¡ãããMicrosoft Azureã«ã¢ããªã±ãŒã·ã§ã³ããããã€ããå Žåãå«ãããã€ã¯ããœãã以å€ã®å€ãã®ããŒã«ã䜿çšããå¯èœæ§ã«ã€ããŠã觊ããŸãã
Vorlon.JSã¯node.jsããŒã¹ã®ããŒã«ã§ãWebéçºè ããç¹ã«ã¢ãã€ã«ã·ã¹ãã ãçµã¿èŸŒã¿ã·ã¹ãã ã§ãWebã¢ããªã±ãŒã·ã§ã³ããªã¢ãŒãã§ãã¹ããå¶åŸ¡ããããã°ãã䟿å©ãªæ¹æ³ãæäŸããŸãã MSDNã®ããã°ã§ãããŒã ã¯Vorlon.JSã®äœæ¥ãæŽçããéã®DevOpsãã©ã¯ãã£ã¹ã®æ®µéçãªå®è£ ãšãæ¥åžžã®ã¿ã¹ã¯ã解決ããããã®ããŒã«ã®éžæã«ã€ããŠè©³ãã説æããŸããã Vorlon.JSã¯ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã§ãã
ãµã€ã¯ã«ã³ã³ãã³ãïŒ
- Visual Studio Team Servicesã䜿çšãããããžã§ã¯ãã®èšç»ãšç®¡ç
- GitHubããã³Visual Studio Team Servicesãã«ãã·ã¹ãã ãšã®ç¶ç¶çãªçµ±å
- Microsoft Azureããã³Azure Resource Managerã䜿çšããASAãã¬ãŒã ã¯ãŒã¯
- Visual Studio Team Servicesã®ãªãªãŒã¹ç®¡ç
- Microsoft Azure App ServiceãšWeb Appsã䜿çšããå®çšŒåç°å¢ã§ã®ãã¹ã
Visual Studio Team Services ïŒVSTSïŒãGITãŸãã¯TFVSCïŒTeam FoundationããŒãžã§ã³ãœãŒã¹ç®¡çïŒããµããŒããããœãŒã¹ç®¡çããŒã«ãæäŸããŠããããšãæ¢ã«ãåç¥ãããããŸããã
ãã®èšäºã§ã¯ãVisual Studio Team Servicesã䜿çšããŠãGitHubã§ãã¹ããããã³ãŒãã®ç¶ç¶ççµ±åãããã«ç°¡åã«å®è£ ã§ãããã詳现ã«èª¬æããŸãã
ã·ãªãŒãºã®åã®èšäºã«æ³šæããŠãã ãã ãVSTSã¢ã«ãŠã³ãããŸã ãæã¡ã§ãªãå Žåã¯ãç¡æã§å ¥æããæ¹æ³ã詳ãã説æããŠããŸãã
GitHubãVisual Studio Team Servicesã«æ¥ç¶ãã
GitHubã§ã®äœæ¥ãéå§ããã«ã¯ããŸããVSTSã§å€éšãµãŒãã¹ãæ§æããããã®ããŒãžã§ã¢ã«ãŠã³ããæ¥ç¶ããå¿ èŠããããŸãã
ãŠã£ã³ããŠã®å³äžé ã«ãã6ãã¯ãªãã¯ããŠãããŒã ã®ãããžã§ã¯ãèšå®ã«ç§»åãã[ãµãŒãã¹]ã¿ããéžæããŸãã [æ°ãããµãŒãã¹ãšã³ããã€ã³ã]ãã¿ã³ãã¯ãªãã¯ãããšãGitHubãå«ããµãŒãã¹ã«æ°ããæ¥ç¶ãè¿œå ã§ããŸãã

[èªèšŒ]ãã¿ã³ãã¯ãªãã¯ããŠGitHubã¢ã«ãŠã³ãã«æ¥ç¶ããGitHubã¢ã«ãŠã³ãæ å ±ãèªèšŒã«äœ¿çšããŸãã
ã¢ã»ã³ããªå®çŸ©ã®äœæ
GitHubã¢ã«ãŠã³ããèšå®ããããããŒã ãããžã§ã¯ãã«æ»ããããã«ãããæŒããŠãã«ãå®çŸ©ã«ã¢ã¯ã»ã¹ããŸãã
æ°ãããã«ããµãŒãã¹ã¯ãããŸããŸãªãã«ããšãŒãžã§ã³ãïŒLinuxãWindowsãªã©ïŒãå®è¡ããMSBuildãMââavenãAntãªã©ã®å€æ°ã®ãã«ãã¿ã¹ã¯ãåŠçããAndroidã¢ããªã±ãŒã·ã§ã³ã®ããã±ãŒãžãäœæããNPMãŸãã¯Gulpã¿ã¹ã¯ãå®è¡ã§ãããªãŒãã³ã·ã¹ãã ã§ãããªã©
å®éããã«ãã·ã¹ãã ã¯å®å šã«ãªãŒãã³ã§ãããããã¯ã¹ããæäŸããããã®ãç®çã«é©ããªãå Žåã¯ãç¬èªã®ã¿ã¹ã¯ãäœæããããšãã§ããŸãã æ¢åã®ã¿ã¹ã¯ã¯ãã¹ãŠãGitHubãªããžããªã§å ¬éãããŠããŸã ã ããã§ã¯ãã¢ããªã±ãŒã·ã§ã³ããã±ãŒãžãäœæããŠå±éããã¿ã¹ã¯ïŒAzureãªãœãŒã¹ãããŒãžã£ãŒãWebã¢ããªãDockerãTom Catãªã©ïŒã玹ä»ããŸãããVSTSã§ã®ãªãªãŒã¹ç®¡çã«ã€ããŠèª¬æããèšäºã®åŸåã§ãããã«ã€ããŠèª¬æããŸãã
äžè¬ã«ãæ°ããã¢ã»ã³ããªå®çŸ©ãäœæããã«ã¯ãããã€ãã®æé ãå®è¡ããã ãã§æžã¿ãŸãã
çµã¿ç«ãŠããã»ã¹ã圢æããããã®ã¿ã¹ã¯ãå®çŸ©ãã
ããã¯æãéèŠãªã¹ãããã§ãããæ§ç¯ãããœãªã¥ãŒã·ã§ã³ã«ãã£ãŠã¯æéããããå ŽåããããŸãã Vorlon.JSã®å Žåã次ã®ãã®ãå¿ èŠã§ããã
- ã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãŠã®äŸåé¢ä¿ãè¿œå ããããã«NPMã€ã³ã¹ããŒã«ãå®è¡ããTypeScriptãLessãªã©ããJavaScriptããã³CSSãã¡ã€ã«ãçæããããã©ã«ãã®Gulpã¿ã¹ã¯ãå®è¡ããŸãã
- Mocha.JSã§åäœãã¹ããå®è¡ããããã¹ãã Gulpã¿ã¹ã¯ãèµ·åãã
- ã¢ããªã±ãŒã·ã§ã³ãå«ãzipã¢ãŒã«ã€ããäœæãããzipãGulpã¿ã¹ã¯ãèµ·åãã
- ã¢ã»ã³ããªã¢ãŒãã£ãã¡ã¯ãïŒåã®æé ã§äœæãããzipãã¡ã€ã«ãšã次ã®èšäºã§èª¬æããä»ã®å±éã¹ã¯ãªããïŒãå
¬éããŸãã ãããã®ã¢ãŒãã£ãã¡ã¯ãã¯ãã¢ããªã±ãŒã·ã§ã³ãããŸããŸãªç°å¢ïŒéçºãQAãéçšåãéçšãªã©ïŒã«å
¬éããããã«ãªãªãŒã¹ç®¡çãµãŒãã¹ã«ãã£ãŠäœ¿çšãããŸãã
[ãã«ã]ã¿ãã§ãå·ŠåŽã®ãã©ã¹èšå·ãã¯ãªãã¯ããŠãæ°ãããã«ãå®çŸ©ãäœæããŸãã æ¢åã®ãã³ãã¬ãŒããŸãã¯ç©ºã®å®çŸ©ã®ãããããéžæã§ããŸãã

ãã®å Žåã空ã®å®çŸ©ãéžæããŸããã [次ãž]ãã¯ãªãã¯ããŠ[èšå®]ããŒãžã«ã¢ã¯ã»ã¹ããŸããããã§ãæ°ããã¢ã»ã³ããªã«é¢é£ä»ãããããœãŒã¹ã³ãŒããæ ŒçŽãããªããžããªã®ã¿ã€ããã¢ã»ã³ããªéå§æã«ãããã䜿çšãããšãŒãžã§ã³ããã¥ãŒãããã³ç¶ç¶ççµ±åã䜿çšããå Žåã¯ãã³ããããè¡ããããã³ã«ã¢ã»ã³ããªãéå§ããã«ã¯ã察å¿ããèšå®ã確èªããå¿ èŠããããŸãã

䜿çšã§ãããã«ããšãŒãžã§ã³ãã«ã¯2ã€ã®ã¿ã€ãããããŸãã
- ãã¹ãããããã«ããšãŒãžã§ã³ã -Visual Studio Team Servicesã®ãµãŒãã¹ãšããŠæäŸãããæ°åã§äœ¿çšæãæ¯æããŸã
- ãã©ã€ããŒããã«ããšãŒãžã§ã³ã -ç¬èªã®ä»®æ³ãã·ã³ã§æ§æã§ãããšãŒãžã§ã³ã ãWindowsãŸãã¯Linuxã§å®è¡ã§ããŸãã
ãã®ã¹ãããã§ã¯ããã«ãããã»ã¹ã«äœ¿çšãããã¹ãŠã®ããŒã«ã§ãã€ãã£ãã«ãµããŒããããŠããHostedãšãŒãžã§ã³ãã䜿çšã§ããŸãã
[äœæ]ãã¯ãªãã¯ããŠãã¢ã»ã³ããªå®çŸ©ãäœæããŸãã ã¢ã»ã³ããªå®çŸ©ã³ã³ã¹ãã©ã¯ã¿ãŒã«ãªãã€ã¬ã¯ããããŸããããã«ãããã¢ã»ã³ããªãŒäžã«å®è¡ããããã»ã¹ã決å®ã§ããŸãã ã¢ã»ã³ããªã¯ã次ã ã«å®è¡ãããã¹ãããã§æ§æãããŸãã
[ãã«ãã¹ãããã®è¿œå ]ãã¯ãªãã¯ããŸãã ããã»ã¹ã«è¿œå ããããŸããŸãªã¹ããããéžæã§ããŸãã

Vorlon.JSãã«ãçšã«å®çŸ©ããããã»ã¹ã¯æ¬¡ã®ãšããã§ãã

ã芧ã®ãšãããåã¹ãããã¯å³åŽã®é åã§æ§æã§ããŸãã ããšãã°ããªããžããªãè€è£œãããåŸãæåã®ãNPMã€ã³ã¹ããŒã«ãã¿ã¹ã¯ãå®è¡ãããŸãã 次ã«ã2ã€ã®gulpã¿ã¹ã¯ãå®è¡ãããŸãã1ã€ç®ã¯Mocha.JSãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠGulpã§ãŠããããã¹ããå®è¡ãã2ã€ç®ã¯ãã¹ãŠã®ã³ãŒããšã«ãŒãã¢ãžã¥ãŒã«ãå«ãzipã¢ãŒã«ã€ããçæããŸãã åŸè ã®ã¿ã¹ã¯ã¯ããªãªãŒã¹ç®¡ç段éã§ãããã®ã¢ãŒãã£ãã¡ã¯ãã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ãå±éã§ããããã«ããããã«ãã¢ã»ã³ããªã¢ãŒãã£ãã¡ã¯ããã¢ã»ã³ããªãšãŒãžã§ã³ãã«å ¬éããããã«äœ¿çšãããŸãã

ãªããžããªå®çŸ©
ãã«ãããã»ã¹ã«å¿ èŠãªãã¹ãŠã®æé ãè¿œå ãããã[ãªããžããª]ã¿ãã«æ»ãããã®ãã«ãå®çŸ©ã§äœ¿çšãããœãŒã¹ã³ãŒããªããžããªãæ§æããŸãã Vorlon.JSã®å ŽåãGitHubãªããžããªã䜿çšããŸããã

ã¢ã»ã³ããªãéå§ããŸã
ãã®ãããžã§ã¯ãã§ã¯ãGitHubãªããžããªå ã®ãœãŒã¹ã³ãŒãã«å€æŽãå ãããããããã«æ°ãããã«ããéå§ãããã£ãã®ã§ãã ãããèšå®ããã«ã¯ãã¹ã¯ãªãŒã³ã·ã§ããã«ç€ºãããã«ããããªã¬ãŒãã¿ãã«ç§»åããŠãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãéžæããå¿ èŠããããŸãã

ããŸããŸãªãªããžããªãã©ã³ãã®ã¹ã±ãžã¥ãŒã«ãã«ããéå§ããããšãã§ããŸããããšãã°ãå€éãã«ããéå§ã§ããŸãã

ããã«ã®ãä¿åããã¯ãªãã¯ããŸãã åããŠããããã¢ããã§ã¢ã»ã³ããªã®ååãæå®ããããã«æ±ããããŸãã
次ã®ã¹ãããã§ã¯ãã³ãŒããå€æŽãããªããžããªã«ã³ãããããŠããã«ãããã»ã¹ãéå§ãããŠãããã©ããããã¹ãŠãæ£åžžã«æ©èœããŠãããã©ããã確èªããŸãã ããã§ã¯GitHubã䜿çšããŸãããã¢ã»ã³ããªå®çŸ©ãäœæããããã«å®è¡ããããã¹ãŠã®ã¹ãããã¯ãVSTSïŒGITãŸãã¯TFVSCïŒã®ä»ã®ãããã€ããŒã®åå ã§ãå®è¡ã§ãããããGitHubã®äœ¿çšã¯ãªãã·ã§ã³ã§ãïŒ
ãã®å ŽåãVisual Studio CodeããŒã«ã䜿çšããŸããããã¯GITãšã®ãã€ãã£ãçµ±åãæäŸãããããããã°ã©ãã³ã°ãéåžžã«ç°¡åã«ãªããããã«å€æŽãGitHubã«éä¿¡ããŸãã
ãã«ãçµæãšåºåã確èªãã
ææ°ã®ã¢ã»ã³ããªã«ã¢ã¯ã»ã¹ããã«ã¯ãå·ŠåŽã®ã¢ã»ã³ããªå®çŸ©ãã¯ãªãã¯ããŸãã ãã¥ãŒå ã®ã¢ã»ã³ããªãšå®äºããã¢ã»ã³ããªã衚瀺ããããšãéžæã§ããŸãã
ã¢ã»ã³ããªãå®äºãããšãVSTSããŒã¿ã«ã®ãã°ã«çŽæ¥ã¢ã¯ã»ã¹ããŠããã¹ãŠã®ã¢ã»ã³ããªæé ãæ£ããå®äºãããã©ããã確èªã§ããŸãã

åã¹ãããã®ãã°ãååŸã§ããŸãïŒ


ããŒã¿ã«ããã¢ã»ã³ããªææç©ãããŠã³ããŒãããããšãã§ããŸãããã®ãããããã»ã¹å šäœã§ã¢ã»ã³ããªãšãŒãžã§ã³ãã«å ¬éããããã®ã確èªã§ããŸãã ãããã®ã¢ãŒãã£ãã¡ã¯ãã¯ãä»åŸã®ãªãªãŒã¹ç®¡çã®èšäºã§äœ¿çšããŸãã

ãããããªãªãŒã¹ç®¡çã®ãããã¯ã«åãæããåã«ãã·ãªãŒãºã®æ¬¡ã®èšäºã§ã¯ããã€ã³ãã©ã¹ãã©ã¯ãã£ãšããŠã®ã³ãŒããã¢ãããŒããšã¯äœãããããç°å¢ã®äœæãšã¢ããªã±ãŒã·ã§ã³ã®ãããã€ã®ããã»ã¹ãæ¹åããæ¹æ³ãç解ããŸãã
é£çµ¡ãåãåããŸãããïŒ
èè ã«ã€ããŠ

Julien Coriolandã¯ããã©ã³ã¹ã®ãã€ã¯ããœããã®ãã¯ãããžãŒãšãã³ãžã§ãªã¹ãã§ãã ã³ã³ãµã«ã¿ã³ããšããŠ6幎éåããåŸã圌ã¯ãã©ã³ã¹ã®ãã€ã¯ããœããã®æè¡ãšãã³ãžã§ãªã¹ãã§ãã äž»ãªäœæ¥åéã¯ãMicrosoft Azureã¢ããªã±ãŒã·ã§ã³ãã©ãããã©ãŒã ã§ãã 圌ã¯éçºè ãã¯ã©ãŠãã¢ããªã±ãŒã·ã§ã³ãäœæããã®ãæäŒããVorlon.JSããŒã«éçºã°ã«ãŒãã®äžå¡ã§ããããDevOpsãã©ã¯ãã£ã¹ã®å®è£ ãæ¯æŽããŠããŸãã
Vorlon.JSãããžã§ã¯ãã®éçºè ã§ããJulien CoriolandãšEttiene Margraffã¯ãDevCon 2016ã«ã³ãã¡ã¬ã³ã¹ã§è¬æŒè ãšãªããã©ã€ããã©ã¯ãã£ã¹ã®å®è£ çµéšã«ã€ããŠã®ã¿è©±ãããããã®ããã»ã¹ãèªåã§æ§ç¯ããæ©äŒãæäŸããŸããæã
ãã®äžé£ã®åºçç©ãŸãã¯DevOpsæ¹æ³è«ã«ã€ããŠè³ªåãããå Žåã¯ãTwitterçµç±ã§èè ã«çŽæ¥é£çµ¡ã§ããŸãïŒ twitter.com/jcorioland
䟿å©ãªãªã³ã¯
- Visual Studio 2015ãVisual Studio Team ServicesãVisual Studio CodeïŒ ç¡æã®éçºè åããµãŒãã¹
- Visual Studio Dev Essentialsã®è¿œå ã®ç¡æããŒã«ãšãµãŒãã¹
- Visual Studio 2015ã®ãœãããŠã§ã¢ã®éçºããã¹ããã©ã€ããµã€ã¯ã«ç®¡çã«é¢ããå®éšå®€äœæ¥