Last Update: 8/4/2017
Sprint 121 Updateã§ã¯ãVisual Studio Team Services(VSTS)ã«ãã€ãã£ãWikiã®ã»ãã«ãããªãã®ã¯ãŒã¯ãããŒã«ããäžè²«æ§ãæãããçµ±åã§ãããããªæ°æ©èœãçšæããŸãããããã€ãã®ãã€ã©ã€ãã玹ä»ããŸãã
- Wikiããããªãã¯ãã¬ãã¥ãŒ - ããŒã ã¡ã³ããŒããããžã§ã¯ããç解ãã䜿çšããè²¢ç®ã§ããããã«ããŸãã
- Releaseæ©èœã«Ansibleãçµ±å - Ansibleã®playbookãä¿æããŒãã§å®è¡ããŸãã
- ãã©ã³ã管ç (å€ããã®,åäœæ,ããã·ã¥ããŒãž) - å€ããªã£ããã©ã³ããåé€ããããã©ã³ããåäœæãpushã®ãã¥ãŒããããããã
- Pull Requestæ¡åŒµããããªãã¯ãã¬ãã¥ãŒ - æ°ããAPIã䜿ã£ãŠãPull Requestã¯ãŒã¯ãããŒãæ¡åŒµãã
- ãã¹ã远跡æ§ã®æ¹å - ãã¹ãã®äœæ¥é ç®ã®ããã©ã«ããšé¢é£ä»ããæ¹å
- boards ãš test casesã§ãã£ã«ã¿ãªã³ã°ã®äžè²«æ§ãä¿ã€ - äœæ¥é ç®ã®çºèŠãçŽ æ©ãç°¡åã«ãªããŸãã
ãŸããVSTSå ã®ãã£ãŒãããã¯ããå¯ãããã ãã補åã®æ¹åã«åœ¹ç«ãŠãŠããŸãã 補åå ã®ãã£ãŒãããã¯ã®è©³çŽ°ã«ã€ããŠã¯ãäžèšã®Feedbackã»ã¯ã·ã§ã³ãã芧ãã ããã
泚æäºé
ããã§çŽ¹ä»ããŠããæ°æ©èœã¯ä»åŸäžé±éã«ããã£ãŠé 次å±éãããŸãã
ç¶æ¿ãããããã»ã¹ãã³ãã¬ãŒãã®ã³ããŒãäœæããŠãæ°ããããã»ã¹ãéå§ããããã«äœ¿çšããããããã»ã¹ã®å€æŽåã®æºåãšããŠãã¹ããããã§ããŸãã
1ã€ããŸãã¯è€æ°ã®ããŒã ãããžã§ã¯ãã§äœ¿çšãããŠããããã»ã¹ãå€æŽãããšããããã®ããŒã ãããžã§ã¯ãã¯ãããããçŽã¡ã«å€æŽãå®æœãããŸãããšã¯ããããã€ããããæãŸãããšã¯éããŸãããããã»ã¹ãã³ãã¬ãŒãã®å€æŽã確èªãããã¹ãŠã®ããŒã ãããžã§ã¯ãã«ããŒã«ã¢ãŠãããåã«å€æŽå 容ããã¹ãããå¿ èŠããããŸãã 次ã®æé ã§ãããè¡ãããšãã§ããŸãïŒ
- å€æŽãããããã»ã¹ãã³ãã¬ãŒãã®è€è£œãã€ãããŸãã
- è€è£œãã³ãã¬ãŒãã«å€æŽãå ããŸããããŒã ãããžã§ã¯ãã«ããã»ã¹ã䜿ããããŸã§ãã ãã«ããã®å€æŽã¯åœ±é¿ããŸããã
- å€æŽç¹ããã¹ããããšãããããŸã ãããžã§ã¯ãããªãå Žåã¯è€è£œãããããã»ã¹ãããã¹ããããžã§ã¯ããäœããŸãããã§ã«ãã¹ããããžã§ã¯ããäœæããŠããå Žåã¯ãã³ã³ããã¹ãã¡ãã¥ãŒããChange team project to use <process name>ãªãã·ã§ã³ã䜿çšããŠããã¹ããããžã§ã¯ãã®ããã»ã¹ãå€æŽã§ããŸãã
- å€æŽããããã»ã¹ãã³ãã¬ãŒããå±éããã¿ã€ãã³ã°ãããŸãããå€æŽãããããã»ã¹ãã³ãã¬ãŒããå¿ èŠãªããŒã ãããžã§ã¯ãã®ããã»ã¹ãå€æŽããŸããã³ã³ããã¹ãã¡ãã¥ãŒããChange team project to use <process name>ãªãã·ã§ã³ãéžæããŸãã
- ãªãã·ã§ã³ã§ãå ã®ããã»ã¹ãã³ãã¬ãŒããç¡å¹ããããã¯åé€ããŸãã
äœæ¥é ç®ã®çš®é¡ã«æ°ããã«ã¹ã¿ã é ç®ãè¿œå ããå Žåãã«ã³ãã³ã®æåŸã®åãåžžã«æãæè¿ã¯ããŒãºãããã«ãŒããæ瀺ããããšã«æ°ã¥ãããããããŸãããç§ãã¡ã¯ãã¯ããŒãºã«ãªã£ãã«ãŒããããèŠè¿ãããšãããããã®ã§ã¯ãªãããšæ°ã¥ããŸããã
ãã®åäœã®æ ¹æ¬çãªåå ã¯ãã«ã³ãã³ããŒãã®æåŸã®åãClosed Dateãã£ãŒã«ãã®éé ã«äžŠã¹ãããŠããããšã§ãã åããã»ã¹(ScrumãAgileãCMMI)ã§ã¯ãåäœæ¥é ç®ã®çš®é¡ã«ã¯ãããã»ã¹ããã³äœæ¥é ç®ã®çš®é¡ã«å¿ããŠãClosedãŸãã¯Doneç¶æ ã«ç§»è¡ãããšãã«ãã®ãã£ãŒã«ããèšå®ããèŠåãå«ãŸããŠããŸãã ãã ããç¬èªã®stateãè¿œå ããå Žåãæ°ããç¶æ ããµããŒãããããã«ãClosed Dateãã£ãŒã«ããèšå®ããã«ãŒã«ã¯èªåçã«è¿œå ãããŸããã§ãããäœæ¥é ç®ãNewç¶æ ããClosedãŸãã¯Doneç¶æ ã«ç§»åãããšãClosed Dateã¯ç©ºã®å€ã«ãªããŸãã ç§ãã¡ã®ã¯ãšãªãšã³ãžã³ã¯éé ãæå®ããããšã空ã®å€ãåªå ããŸãããã£ãŠãã«ã³ãã³ããŒãã§ã¯ãæãæè¿ã¯ããŒãºãããã«ãŒããäžã«è¡šç€ºããããšããåäœã«ãªããŸãã
æåã«ã«ã¹ã¿ã stateãè¿œå ããå Žåãé©åãªäžé£ã®ã«ãŒã«ãäœæ¥é ç®ã«è¿œå ãããããšã確èªããŸãããäœæ¥é ç®ãéãããšãã«ç©ºã®Closed Dateã衚瀺ãããªããªããŸããæ¢åã®closeç¶æ ã®äœæ¥é ç®ã«ã¯åãæ»ããŸãããã«ã³ãã³ããŒãã®äžçªäžã«æè¿closeç¶æ ã«ãªã£ãã«ãŒãã衚瀺ãããããã«ãã«ã³ãã³ããŒãã®æåŸã®åã®é åºããžãã¯ãæŽæ°ããŠã空ã®Closed Dateãã£ãŒã«ããæã€ã«ãŒããäžçªäžã«é 眮ããŸãã
ããŒã ãããžã§ã¯ããã©ã®ããã»ã¹ãã³ãã¬ãŒãã䜿çšããŠãããç¥ãããå Žåãããã»ã¹ã䜿çšããŠãããã¹ãŠã®ãããžã§ã¯ãã衚瀺ããæ°ããããŒãžã«ç§»åããŠãã ããã
ã«ã³ãã³ããŒãã§ã¯ãäžè¬çãªãšã¯ã¹ããªãšã³ã¹ãšããŠãäœæ¥é ç®ã®ãšã¯ã¹ããªãšã³ã¹ã®ã°ãªãããã£ã«ã¿ãªã³ã°ãšåçã®ãã£ã«ã¿ãªã³ã°ã³ã³ããŒãã³ãã䜿çšããããã«ãªããŸããããã®æ°ãããã£ã«ã¿ãªã³ã°ã³ã³ãããŒã«ã¯ãããŒã ã®ãã¹ãŠã®ã¡ã³ããŒã«äœ¿ãããããšäžè²«ããã€ã³ã¿ãŒãã§ã€ã¹ãæäŸããŸãã
ã«ã³ãã³ãšä»ã®ãšã¯ã¹ããªãšã³ã¹ã§å ±éã®ãã£ã«ã¿ãªã³ã°ã³ã³ããŒãã³ãã«ãªã£ãã®ã§ãã³ãã³ãããŒã§ã®æ€çŽ¢æã«ã¯ãã®äœçœ®ãå€æŽããæ®ãã®ãã£ã«ã¿ã§è¡šç€ºãããããã«ãªããŸãããã¢ã¯ã»ã¹ããã«ã¯ããã£ã«ã¿ã¢ã€ã³ã³ãã¯ãªãã¯ããŸãã ããªãã®äœæ¥é ç®ãæ€çŽ¢ããã«ã¯ãã¯ã³ã¯ãªãã¯ããŠãããã«ã¢ã€ã³ã³ãã¯ãªãã¯ãããšããã«ããŒã¯ãŒããã£ã«ã¿ã«çŠç¹ãåœãŠãããŸãã次ã®ã¹ããªã³ãã§ã¯ãããŒããŒãã䜿çšããã ãã§ãã£ã«ã¿ã衚瀺ã§ããããã«ããããŒã¯ãŒãã·ã§ãŒãã«ãã(Ctrl + F)ãæå¹ã«ããŸãã以åã¯ãã£ã«ã¿ãã¿ã³ã®é£ã«æ€çŽ¢ã€ã³ã¿ã©ã¯ã·ã§ã³ããã£ãããšã«æ³šç®ããŠãã ããã
VSTSã®åãããžã§ã¯ãã«ãããŠãããããã®WikiããµããŒãããŸããããŒã ã¡ã³ããŒããããžã§ã¯ããç解ãã䜿çšããè²¢ç®ããããã«åœ¹ç«ã€ããŒãžãç°¡åã«äœæã§ããŸãã
æ°ããWikiã«ã¯éèŠãªæ°æ©èœãå«ãŸããŠããŸãã
-
markdownæ§æã䜿ã£ãç°¡åãªç·šéããµããŒã
-
é åºå€æŽã芪åé¢ä¿ã®ä»ãæ¿ããããŒãžç®¡çæ©èœãåããã匷åãªããŒãžç®¡çãã€ã³
-
巚倧ãªwikiã®ã¿ã€ãã«ã«ããããŒãžãã£ã«ã¿ãªã³ã°
-
ãã¯ãŒãŠãŒã¶ãŒåãã®Wikiã®ãªãã©ã€ã³æŽæ° ã䜿ãã«ã¯getting started with WikiãèŠãŠãã ããã
Marketplaceäžã®Wikiæ¡åŒµæ©èœã¯å»æ¢ãããŸããã æ¢åã®Wikiæ¡åŒµãŠãŒã¶ãŒã䜿ã£ãŠããå Žåããã®ç§»è¡ããŒã«ã§wikiããŒãžãæ°ããwikiã«ç§»è¡ã§ããŸãã migrate your existing wiki pages to the new WikiãèŠãŠãã ããã
æ°ããWikiç·šéã¯markdownã®äžã§HTMLã¿ã°ããµããŒãããŠããŸãã
markdownãã©ã«ããŒã«ããç»åã®ãªãµã€ãºãã§ããŸãã
Wikiãããã«äœ¿ãããªããšãæå³ããªãå€æŽãä¿åããå¯èœæ§ããããŸããç¹å®ã®ãªããžã§ã³ã®WikiããŒãžã«æ»ãããšãã§ããŸãããªããžã§ã³ã®è©³çŽ°ã«ç§»åããRevertãã¿ã³ãã¯ãªãã¯ããŸãã
Wikiã®äœæäžãWikiããŒãžäžã«ååšããªããªã³ã¯ãå«ãç®æ¬¡ãäœæãããã¿ãŒã³ããããŸããããªã³ã¯åã解æ¶ã®ããããªã³ã¯ãã¯ãªãã¯ããŠå®éã®ããŒãžãäœæããŸãã以åã¯ãªã³ã¯ãå£ããŠããããããŒãžãååšããªãã£ãããšã瀺ãèŠåã衚瀺ããŠããã®ã·ããªãªãåŠçããŠããŸãããWikiã®ä»£è¡šçãªã·ããªãªãšããŠãããŒãžãäœæã§ããããã«ããŸããã
TFVCã䜿çšããããŒã ã¯ãVisual Studioã§ãã§ãã¯ã€ã³ããªã·ãŒã䜿çšããŠã³ãŒãã®å質ãä¿èšŒããããšããããããŸãããã ããã¯ã©ã€ã¢ã³ãã§ã¯ãã§ãã¯ã€ã³ããªã·ãŒãé©çšãããŸãããWebäžã§ç·šéãããã³ãŒãã«ã¯åãããªã·ãŒãé©çšãããŸããã
Webç·šéã«ãããã§ãã¯ã€ã³ããªã·ãŒãåé¿ããããã®å€æŽããããªãããã«ãWebç·šéãç¡å¹ã«ããæ¹æ³ããªãããšåãåããããããŸãããããã§ããããžã§ã¯ã/ãªããžããªããšã«TFVCã®Webç·šé(è¿œå ãåé€ãååå€æŽãç·šé)ãç¡å¹ã«ããæ¹æ³ãè¿œå ããŸããã
FileããŒãžããWebç·šéãçŠæ¢ããã«ã¯ãSettingsãVersion Controlã®é ã«éžæããŸããããªãŒã®TFVCãªããžããªãã¯ãªãã¯ããOptionsããããã«ç§»åããEnable web-editing for this TFVC repositoryã®ãã§ãã¯ãå€ããŸãã ããã©ã«ãã§ã¯ãWebç·šéãæå¹ã«ãªã£ãŠããŸãã
泚ïŒProject Overview pageããŒãžããã®READMEã®ç·šéã¯åœ±é¿ãåããŸããã
Webç·šéãç¡å¹ã«ãããããžã§ã¯ãã§Webç·šéãè©Šã¿ããšãWebç·šéãèš±å¯ãããŠããªãããšãéç¥ãããŸãã
é¢é£ããææ¡ã«åºã¥ããŠããŸã
äžèŠã«ãªã£ããã©ã³ããåé€ããŠãªããžããªããããã«ä¿ã€ããšã§ãããŒã ã¯æ°ã«ãªããã©ã³ããèŠã€ããŠé©åãªç²åºŠã§ãæ°ã«å ¥ãã«èšå®ã§ããŸãããããããªããžããªã«ãã©ã³ããããããããå Žåãã©ã®ãªããžããªãéã¢ã¯ãã£ãã§ãããåé€ã§ããããå€æããã®ã¯é£ãããããããŸããã ããã§ããå€ãããã©ã³ã(3ãæ以äžçµéãããã©ã³ããæããã©ã³ã)ãèå¥ãããããªããŸããã å€ããªã£ããã©ã³ããèŠãã«ã¯ãBranchesããŒãžã®Staleããããã«è¡ããŸãã
ãã©ã³ãããµãŒããŒãã誀ã£ãŠåé€ãããå Žåããã®ãã©ã³ãã«äœãèµ·ãããææ¡ããã®ãé£ããå ŽåããããŸããåé€ããããã©ã³ããæ€çŽ¢ããåé€ãã人ãšèª°ããã€åé€ããããã確èªããå¿ èŠã«å¿ããŠåäœæã§ããŸãã
åé€ããããã©ã³ããæ€çŽ¢ããã«ã¯ããã©ã³ãæ€çŽ¢ããã¯ã¹ã«å®å šãªãã©ã³ãåãå ¥åããŸããããã¹ããšäžèŽããæ¢åã®ãã©ã³ãã衚瀺ãããŸããåé€ããããã©ã³ãã®ãªã¹ãã§å®å šäžèŽãæ€çŽ¢ãããªãã·ã§ã³ã衚瀺ãããŸãã åé€ããããã©ã³ããæ€çŽ¢ããã«ã¯ããªã³ã¯ãã¯ãªãã¯ããŸãã
äžèŽãããã®ãèŠã€ãã£ãå Žåãããã誰ããã€åé€ããããããããŸãããŸãããã©ã³ãã®åŸ©å ãã§ããŸãã
ãã©ã³ãã埩å ãããšãæåŸã«ãã€ã³ããããã³ãããã®ã¿ã€ãã³ã°ã§åäœæãããŸãããã ããããªã·ãŒãšã¢ã¯ã»ã¹èš±å¯ã¯åŸ©å ãããŸããã
Branch UpdatesããŒãžã«ã¯å€§ããªäŸ¡å€ããããŸããããããããã¯Historyããã®äžã®ãããããšããŠé ãããŠããŸããããã©ã³ãæŽæ°ããŒãžã¯ãCodeã®äžã«PushãšåŒã°ãããããšããŠãCommits, Branches, Tagsããã³Pull Requestãšãšãã«è¡šç€ºãããŸãã ããã·ã¥ããŒãžã®æ°ããURLã¯ãhttps://<accountname>/<projectname>/_git/<reponame>/pushesã§ãã å€ãURLã¯åŒãç¶ãæ©èœããŸãã
åæã«ãHistoryããã®ååãCommitsã«å€æŽãããŸãããããã«ã¯ã³ãããã®ã¿ã衚瀺ãããããã§ããã³ããããªã¹ããã¥ãŒã§ã¯è©³çŽ°ãªãªã³ãããŒã®ã¿ã衚瀺ãããŠãããããã³ãããã«é¢é£ããåé¡ã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ãé£ãããšããæèŠããããŸãããVSTSã®ã³ããããªã¹ããã¥ãŒã«ã¯ãæ¥æãdd/mm /yy hh:mm圢åŒã§è¡šç€ºãããŸãã ã³ãããããŒãžã®æ°ããURLã¯ãhttps://<accountname>/<projectname>/_git/<reponame>/commitsã§ãã å€ãURLã¯åŒãç¶ãæ©èœããŸãã
Codeããã®Filesããããå ã®ç¹å®ã®ãã¡ã€ã«ã«ãã£ã¬ã¯ããªããã£ã«ã¿ãªã³ã°ãããã®åŸHistoryããããã«ããªãããããšãã³ãããã«ãã£ãŠ1,000å以äžã®ãã¡ã€ã«ãå€æŽãããå Žåããã¡ã€ã«åãä¿æãããªããšãããã£ãŒãããã¯ãå¯ããããŸããããã®çµæããã¡ã€ã«ãæ€çŽ¢ããŠã³ã³ãã³ãããã£ã«ã¿ãªã³ã°ããŠçç£æ§ã«åœ±é¿ãäžããŠãã人ãå¢ããŸããã éçºè ã¯éåžžãåããã£ã¬ã¯ããªã§äœæ¥ããå€æŽã远跡ãããšãã«äœæ¥ãããã£ã¬ã¯ããªã«ä¿æããŸãã ä»åºŠã¯ãã³ãããæã«å€æŽããããã¡ã€ã«ã®æ°ã«é¢ä¿ãªããCodeããã®ããããéã移åãããšãã«ãã¡ã€ã«åãä¿æããŸãã ããã¯ãããªããæããã¡ã€ã«ãèŠã€ããããã«Load Moreãã¯ãªãã¯ããå¿ èŠããªãããšãæå³ããŸãã
ãã©ã³ãããªã·ãŒã䜿çšãããšãã³ãŒãã®å質ãåäžãããããšãã§ããŸãããããããããã®ããªã·ãŒã¯ãVSTSã«ãã£ãŠãã€ãã£ãã«æäŸãããŠããæ©èœã®ã¿ã«éå®ãããŠããŸãããæ°ããPR Status APIãšå¯Ÿå¿ãããã©ã³ãããªã·ãŒã䜿çšããããšã§ããµãŒãããŒãã£ã®ãµãŒãã¹ããã€ãã£ãVSTSæ©èœãšåæ§ã«PRã¯ãŒã¯ãããŒã«åå ã§ããŸãã
ãµãŒãã¹ããã«ãªã¯ãšã¹ãã®ã¹ããŒã¿ã¹APIã«ãã¹ããããšããµãŒãã¹ã¯ããã«æ°ããã¹ããŒã¿ã¹ã»ã¯ã·ã§ã³ã®PR detailsãã¥ãŒã«è¡šç€ºãããŸããStatusã»ã¯ã·ã§ã³ã«ã¯èª¬æã衚瀺ããããµãŒãã¹ãæäŸããURLãžã®ãªã³ã¯ãäœæãããŸãã ã¹ããŒã¿ã¹ãšã³ããªã¯ãWebæ¡åŒµæ©èœã«ãã£ãŠè¿œå ãããæ°ããã¢ã¯ã·ã§ã³ã®ããã«æ¡åŒµå¯èœãªã¢ã¯ã·ã§ã³ã¡ãã¥ãŒ(...)ããµããŒãããŠããŸãã
ã¹ããŒã¿ã¹ã ãã§ã¯PRã®å®äºããããã¯ããããšã¯ã§ãããããªã·ãŒã®æåšå°ã§ããPRã¹ããŒã¿ã¹ããã¹ãããããšãããªã·ãŒã®èšå®ãã§ããŸããããªã·ãŒã®ãšã¯ã¹ããªãšã³ã¹ã§ã¯ãRequire approval from external servicesãšããæ°ããããªã·ãŒã䜿çšã§ããŸããããã»ã¹ãéå§ããã«ã¯+Add serviceãéžæããŸãã
ãã€ã¢ãã°ã§ãã¹ããŒã¿ã¹ãéç¥ãããµãŒãã¹ããªã¹ãããéžæããç®çã®ããªã·ãŒãªãã·ã§ã³ãéžæããŸãã
ããªã·ãŒãã¢ã¯ãã£ãã«ãªããšãã¹ããŒã¿ã¹ã¯Policiesã»ã¯ã·ã§ã³ã®RequiredãŸãã¯Optionalã«é©åã«è¡šç€ºãããå¿ èŠã«å¿ããŠPRå®äºã匷å¶ãããŸãã
ã¹ããŒã¿ã¹APIã®è©³çŽ°ãç¥ããèªåã§è©ŠããŠã¿ãã«ã¯ãããã¥ã¡ã³ããšãµã³ãã«ããã§ãã¯ããŠãã ããã
以åã¯ããã«ããµããªãŒã»ã¯ã·ã§ã³ã䜿ããã«ãã¿ã¹ã¯ãæã€æ¡åŒµæ©èœã䜿çšããŠããå Žåããã®ãã«ãã§ãã«ãã¿ã¹ã¯ã䜿çšããŠããªããŠãããã«ããµããªãŒã»ã¯ã·ã§ã³ã衚瀺ãããŠããŸãããã®æ©èœã§ããã«ããµããªãŒããŒãžã§ãã®ã»ã¯ã·ã§ã³ãé衚瀺ã«ããããæ¡åŒµã³ãŒãã«æ¬¡ã®è¡ãè¿œå ããŠå€ãtrueãŸãã¯falseã«èšå®ããããšãã§ããŸãã
VSS.getConfiguration().setSectionVisibility("$(publisherId).$(extensionId).$(sectionId)", false);
ãµã³ãã«ã¯Microsoft vsts-extension-samples repositoryã«ãããŸã.
Variableã°ã«ãŒãã¯ãªãªãŒã¹å®çŸ©ã§äœ¿çšã§ããããã«ãªã£ãã ãã§ã¯ãªãããã«ãå®çŸ©ã§ã䜿çšã§ããããã«ãªããŸããã 詳现ã¯creating variable groupãåç §ããŠãã ããã ããã¯ããããžã§ã¯ãã¬ãã«ã®ãã«ã/ãªãªãŒã¹å€æ°ãšãã«ãå®çŸ©ã®å€æ°ã°ã«ãŒãã«é¢é£ããææ¡ã«åªå ã¥ããããŠéçºãããŸããã
次ã®ã¡ãžã£ãŒããŒãžã§ã³ã¢ãããšãªãdotnetã¿ã¹ã¯(2.x)ã§ã¯ãå€ãã®ãã£ãŒãããã¯ãªã¯ãšã¹ããšããã°ãã远跡ããŠããäžé£ã®ãã°ãä¿®æ£ããŸãã
- æåã«ãdotnetã¯ããã±ãŒãžç®¡çã®ãããªèªèšŒãããããã±ãŒãžãœãŒã¹ããµããŒãããããã«ãªããŸããããããã£ãŠãNuGetã¿ã¹ã¯ã䜿çšããŠãã©ã€ããŒãããã±ãŒãžãœãŒã¹ããããã±ãŒãžã埩å ããå¿ èŠã¯ãããŸããã
- ãããžã§ã¯ãã®**Path to project(s)**ã®åäœãã2.0ããŒãžã§ã³ã®ã¿ã¹ã¯ã§å€æŽãããŸããã以åã®ããŒãžã§ã³ã®ã¿ã¹ã¯ã§ã¯ãæå®ããããã¿ãŒã³ã«äžèŽãããããžã§ã¯ããã¡ã€ã«ãèŠã€ãããªãã£ãå Žåãã¿ã¹ã¯ã¯èŠåãèšé²ããŠããæåããŸããããã®ãããªã·ããªãªã§ã¯ããã«ããæåããçç±ãç解ããã®ã¯é£ãããããããŸããããäŸåé¢ä¿ã¯åŸ©å ãããŸããã§ãããæå®ããããã¿ãŒã³ã«äžèŽãããããžã§ã¯ããã¡ã€ã«ãèŠã€ãããªãå Žåãã¿ã¹ã¯ã¯å€±æããŸããããã¯ä»ã®ã¿ã¹ã¯ã®æ¯ãèããšãããããã®ã§ããããããããã䜿ãããããªã£ãŠããŸãã
- 以åã®ããŒãžã§ã³ã®ã¿ã¹ã¯ã®çºè¡ã³ãã³ãã§ã¯ãæ瀺çãªåºåãã¹ãæž¡ãããšãã§ãããããžã§ã¯ããã¡ã€ã«åã®åŸã«ååãä»ãããããã©ã«ãã«ãã¹ãŠã®ãã¡ã€ã«ãå ¥ããŠãåºåãã¹ãå€æŽããŸãããã³ãã³ããé£éãããããšãé£ãããªã£ãŠããŸããããåºåãã¹ãã¡ã€ã«ãå¶åŸ¡ã§ããããã«ãªããŸããã
ãŸããæ°ããdotnet Tool Installerã¿ã¹ã¯ããªãªãŒã¹ããŸããããã®ã¿ã¹ã¯ã¯ãPATHäžã§äœ¿çšå¯èœãªdotnetã®ããŒãžã§ã³ãå¶åŸ¡ããæ°ããdotnetã¿ã¹ã¯ã§äœ¿çšãããŸãããããã£ãŠãæ°ããããŒãžã§ã³ã®dotnetã䜿çšããã«ã¯ããã«ãã®å§ãã«dotnet Tool Installerã¿ã¹ã¯ãè¿œå ããã ãã§ãã
ç§ãã¡ã¯ãã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ãŒã¹çµç±ã§InventoryããŒãã®ç¹å®ã®ãªã¹ãã«èšèŒãããPlaybookãå®è¡ããããã«ã/ãªãªãŒã¹ã¿ã¹ã¯ãå«ããAnsibleãšçµ±åãããæ¡åŒµæ©èœããªãªãŒã¹ããŸãããAnsibleã¯YAMLãã©ãŒãããã§æé ãèšé²ããPlaybooksã䜿ã£ãŠç°¡åã«æ§æãå±éããªãŒã±ã¹ãã¬ãŒã·ã§ã³ããŸããåPlaybookã¯ããã¹ãã®ã°ã«ãŒããäžé£ã®ããŒã«ã«ãããã³ã°ããŸããåããŒã«ã¯Ansibleã¿ã¹ã¯ã«ãã£ãŠåŒã³åºãããŸããInventoryãã¡ã€ã«ã¯ãAnsibleãã¢ã¯ã»ã¹ã§ãããã¹ãããŒãã®è©³çŽ°ãæ ŒçŽãããŠããŸãã
ãã®ã¿ã¹ã¯ã§ã¯ãPlaybookãšInventoryãã¡ã€ã«ãããã©ã€ããŒãLinuxãšãŒãžã§ã³ããŸãã¯AnsibleãªãŒãã¡ãŒã·ã§ã³ãšã³ãžã³ãã€ã³ã¹ããŒã«ãããŠãããªã¢ãŒããã·ã³ã«é 眮ããå¿ èŠããããŸããSSHãšã³ããã€ã³ãã¯ãAnsibleããªã¢ãŒããã·ã³äžã«ããå Žåã«èšå®ããå¿ èŠããããŸããInventoryã¯ãã€ã³ã©ã€ã³ãDynamic InventoryããŸãã¯Hostãªã¹ããšããŠæå®ããããšãã§ããŸãã
æ°ãããªãªãŒã¹å®çŸ©ãšãã£ã¿ã§äœ¿çšå¯èœãªVariableã°ã«ãŒããä¿æãããã³ãªãã·ã§ã³ã¿ã
æ°ããRelease Definition Editorã¯ãå€ããšãã£ã¿ã«ããæ©èœãæ€èšŒããªãã移è¡ãç¶ããŸãããã®ãªãªãŒã¹ã§ã¯ãVariableã°ã«ãŒãã«ãªã³ã¯è§£é€/ãªã³ã¯ããŠããåã ã®ãªãªãŒã¹ç°å¢ã®ããã®ä¿æããªã·ãŒãèšå®ããããã§ãOptionã¿ããããªãªãŒã¹çªå·ãã©ãŒããããšããŠãªãªãŒã¹å®çŸ©ã¬ãã«ã®èšå®ã®å€æŽãã§ããŸããTaskã¿ãã§ã¯ããªãªãŒã¹ç°å¢ããããã€ã¡ã³ããã³ãã¬ãŒããšããŠä¿åããç°å¢ã¬ãã«ã®æš©éãèšå®ãããã§ãŒãºã䞊ã¹æ¿ããããšãã§ããŸãããªãªãŒã¹ç°å¢å šäœã§ããã»ã¹å€æ°ããã£ã«ã¿ãªã³ã°/æ¯èŒããæ©èœã¯ããããæ°ã¹ããªã³ãã®ææã§ãã
ãªãªãŒã¹ç°å¢ã¬ãã«ã®æäœã§ããã³ãã¬ãŒããšããŠä¿åããŠãã»ãã¥ãªãã£ã®èšå®ãå®è¡ããŸãã
ä»ãŸãŸã§ãã³ããããã客æ§ã®æ¬çªç°å¢ã«ãããã€ãããŠãããã©ãããç¥ãããå Žåãæåã«ãã¹ãŠã®ãªãªãŒã¹ç°å¢ã«å¯ŸããŠãã©ã®ãã«ãããããã€ãããŠããã調ã¹ãŠããã®ãã«ãã¯ã©ã®commitã«ãã£ãŠçºçããã調ã¹ãªããŠã¯ãªããŸããã§ãããCodeããã®ã¹ããŒã¿ã¹ãããžã«ãããã€ã¡ã³ãã¹ããŒã¿ã¹ãçµ±åããŠãã³ãŒãããããã€ãããŠããç°å¢ã®äžèŠ§ã衚瀺ããããšã§ããã®ãšã¯ã¹ããªãšã³ã¹ã¯ã¯ããã«ç°¡åã«ãªããŸããããã¹ãŠã®ãããã€ã¡ã³ãã«å¯ŸããŠããããã€ã¡ã³ãã®äžéšã§ãã£ãææ°ã®ã³ãããã«ç¶æ ãããã¹ããããŸãã ã³ãããã(è€æ°ã®ç°å¢ã§)è€æ°ã®ãªãªãŒã¹å®çŸ©ã«ãããã€ãããŠããå Žåãåç°å¢ã¯ãããžã«ãšã³ããªãæã¡ãåç°å¢ã«ã¹ããŒã¿ã¹ã衚瀺ãããŸãã ããã«ãããã³ãŒãã³ãããã®ãã¬ãŒãµããªãã£ãåäžããŸãã
ããã©ã«ãã§ã¯ããªãªãŒã¹å®çŸ©ãäœæãããšããã¹ãŠã®ãªãªãŒã¹ç°å¢ã«å±éã¹ããŒã¿ã¹ãéç¥ãããŸãã ãã ããã¹ããŒã¿ã¹ãããžã«ãããã€ã¹ããŒã¿ã¹ã衚瀺ããç°å¢ãéžæããŠéžæããããšãã§ããŸã(ãããã¯ã·ã§ã³ç°å¢ã®ã¿ã衚瀺ãããªã©)ã
ãªãªãŒã¹å®çŸ©ã«ãã«ãææç©ãè¿œå ããéããã©ã«ãéå±€ã§å®çŸ©ã衚瀺ããåžæã®ãã«ãå®çŸ©ãç°¡åã«éžæã§ããããã«ãªããŸãããããã«ãããåããã«ãå®çŸ©åãç°ãªããã©ã«ãã§åºå¥ããããšã容æã«ãªããŸãã
ãã«ãå®çŸ©ãªã¹ãããã£ã«ã¿ãããåèªãå«ãç¶æ ã§ãã£ã«ã¿ãããŠããŸãã
çŸåšããªãªãŒã¹å®çŸ©ãæŽæ°ãããå ŽåãçŽåã®ããŒãžã§ã³ã«æ»ãããšãã§ããŸãããå€æŽåã«æ»ãå¯äžã®æ¹æ³ã¯ããªãªãŒã¹å®çŸ©ã®å±¥æŽã調ã¹ãŠå€æŽã®å·®åãèŠã€ãããªãªãŒã¹å®çŸ©ãæåã§ç·šéããããšã§ãã ä»åã®ã¹ããªã³ãã§è¿œå ãããRevert Definitionã䜿çšããŠããªãªãŒã¹å®çŸ©ã®Historyã¿ãããå€ãããŒãžã§ã³ã®ãªãªãŒã¹å®çŸ©ãéžæããŠæ»ãããšãã§ããŸãã
äœæ¥é ç®ãšãªã³ã¯ãããæ¢çŽ¢ãã¹ãã®ãã¬ãŒãµããªãã£æ¹å,ã€ãã¬ãŒã·ã§ã³,ãšãªã¢ãã¹
ç§ãã¡ã¯æ¢çŽ¢ãã¹ããè¡ã£ãŠããããŒã ããåŸããã£ãŒãããã¯ã«åºã¥ããŠãTestïŒFeedbackæ¡åŒµæ©èœãããã°ãã¿ã¹ã¯ããŸãã¯ãã¹ãã±ãŒã¹ãæœåºããªããããã¬ãŒãµããªãã£ãªã³ã¯ãæ¹åããŠããŸããèŠä»¶æ¢çŽ¢ãã¹ãäžã«äœæããããã°ãšã¿ã¹ã¯ã¯ãããŒã ã®ããã©ã«ãã§ã¯ãªããèŠä»¶ãšåããšãªã¢ãã¹ãšã€ãã¬ãŒã·ã§ã³ã«äœæãããããã«ãªããŸããã èŠä»¶æ¢çŽ¢ãã¹ãäžã«äœæããããã¹ãã±ãŒã¹ã¯ãParent<->Childãªã³ã¯ã®ä»£ããã«Tests<->Tested Byã®éã§ãªã³ã¯ãããäœæãããã¹ãã±ãŒã¹ãèŠä»¶ããŒã¹ã®ãã¹ãã¹ã€ãŒãã«èªåçã«è¿œå ãããŸããæåŸã«ãèŠä»¶ãç¹ã«æŽçããŠããªãéã«äœæãããäœæ¥é ç®ã¯çŸåšã®ã€ãã¬ãŒã·ã§ã³ã§ã¯ãªããããŒã ã®ããã©ã«ãã€ãã¬ãŒã·ã§ã³ã«ä¿åãããã¹ããªã³ãèšç»ãå®äºããåŸã«ã¯æ°ããäœæ¥é ç®ã¯çŸåšã®ã€ãã¬ãŒã·ã§ã³ã«è¿œå ãããŸããã
Chromeã§ã®æåãã¹ãäžã«ããã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã®ã¹ã¯ãªãŒã³ã·ã§ãããšæ³šéããµããŒã
Testããã®Web Test Runnerãããã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã®ã¹ã¯ãªãŒã³ã·ã§ããã®ãã£ããã£ãµããŒãã¯ãæåãã¹ãã®ãªãã§æãå€ãå¯ããããææ¡ã®1ã€ã§ããããããŸã§ã¯ãMicrosoft Test Managerã®Test Runnerã䜿çšããŠããã¹ã¯ãããã¢ããªã±ãŒã·ã§ã³ã®ã¹ã¯ãªãŒã³ã·ã§ããããã£ããã£ããå¿ èŠããããŸããããã®æ©èœã䜿çšããã«ã¯ãTestïŒFeedbackæ¡åŒµæ©èœãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã ç§ãã¡ã¯Chromeãã©ãŠã¶ã®ãµããŒããéå§ããŠãããFirefoxããŸããªãç¶ããŸãã
Testããã®Testèšç»ãšã¹ã£ãŒãã®ãã¹ãã±ãŒã¹äœæ¥é ç®ããã£ã«ã¿ãªã³ã°ãã
OutcomeãConfigurationãããã³Testerãªã©ã®Testãã£ãŒã«ãã®ãã£ã«ã¿ã«å ããŠãTitleãStateãAssigned Toãªã©ã®Test Caseäœæ¥é ç®ãã£ãŒã«ãããã£ã«ã¿ãªã³ã°ã§ããããã«ãªããŸããã
VSTSããã·ã¥ããŒãäžã§Release Environmentsã®ã¹ããŒã¿ã¹ã远跡ã§ããããã«ãTest Result TrendãŠã£ãžã§ããã«ãªãªãŒã¹ç°å¢ã®ãµããŒããè¿œå ããŸãããBuildã§ã®ãã¹ãçµæãšåæ§ã«ããã¹ãåæ Œçãåèšæ°ãåæ ŒãŸãã¯äžåæ Œã®ãã¹ããããã³Release Environmentã®ãã¹ãæéã瀺ãåŸåã°ã©ããäœæã§ããããã«ãªããŸããã Test Runã¿ã€ãã«ãã£ã«ã¿ã䜿çšããŠãç°å¢å ã®ç¹å®ã®ãã¹ãå®è¡ã«ãã£ãŒãããã¡ã€ãªã³ã°ããããšãã§ããŸãã
Test Runã³ã¡ã³ããšTest Resultã®ã³ã¡ã³ããmarkdownæ§æã§æžããããã«ããŠããŸãããã®æ©èœã䜿çšããŠãæžåŒèšå®ãããããã¹ããäœæããããã³ã¡ã³ãå ã®URLãžã®ã¯ã€ãã¯ãªã³ã¯ãäœæã§ããŸãã Test Resultã®ã³ã¡ã³ãã¯ãResult SummaryããŒãžã®Update Analysisããã³Test Runã®Run SummaryããŒãžã«ããTestããã®Update commentsã§æŽæ°ã§ããŸãã
BuildãŸãã¯Releaseã®æŠèŠããŒãžããŸãã¯Testããã§ãã¹ãçµæãåæããŠããéãæ¢åã®ãã°ã倱æãããã¹ãã«é¢é£ä»ããããšãã§ããããã«ãªããŸããã ããã¯ãæ¢ã«ãã°ãæèµ·ãããŠããæ¢ç¥ã®çç±ã§ãã¹ãã倱æããå Žåã«åœ¹ç«ã¡ãŸãã
åã°ã«ãŒãããããŒã®äžåãç¢å°ãšäžåãç¢å°ã䜿çšããŠãããããã®My favoritesããŒãžã®ã°ã«ãŒãã䞊ã¹æ¿ããããšãã§ããŸãã
MarketplaceããçŽæ¥Visual Studio Codeãžã®ã€ã³ã¹ããŒã«ãå¯èœã«ãããªãã·ã§ã³ãè¿œå
æ¡åŒµæ©èœãã€ã³ã¹ããŒã«ããã«ã¯ãã³ããŒããŠããã€ã³ã¹ããŒã«ãå®è¡ããVisual Studio Codeããåç §ããå¿ èŠããããŸãããä»åã®æŽæ°ã§ãMarketplaceããæ¡åŒµæ©èœãã¯ã³ã¯ãªãã¯ã§çŽæ¥ã€ã³ã¹ããŒã«ã§ããŸãããšã³ã¿ãŒãã©ã€ãºã§Visual Studio Codeã䜿çšããŠããå Žåã¯ãVSIXããã±ãŒãžã®ããŠã³ããŒããªãã·ã§ã³ãå©çšã§ããŸãã PowerShellæ¡åŒµã¢ãžã¥ãŒã«ã®äŸã以äžã«ç€ºããŸãã
ä»åã®ãªãªãŒã¹ã§ã¯ãæ¥çæšæºã®ãã©ã®ããã«ãå§ãããŸããããšãã質åãšããªãã·ã§ã³ã®èª¬æã䜿çšããŠãVSTSã®ãã£ãŒãããã¯ãæ±ããå°ããªå ¥åæ¬ã衚瀺ããŸããããã«ãããVSTSå šäœã«ã€ããŠå®æçã«ã©ã®ããã«æããŠããã®ããæŽå¯ããããšãã§ããæšå¥šãããã£ãŒãããã¯ãšæ¹åããã»ããè¯ããã£ãŒãããã¯ã®äž¡æ¹ããè¿ éã«åŠã¶ããšãã§ãããšæåŸ ããŠããŸãã ãã®ã¿ã€ãã®ãã£ãŒãããã¯ãåéããããã«ãããŸã§ã«äœ¿çšããŠããé»åã¡ãŒã«èª¿æ»ãããããããããæ£ç¢ºã§ã¿ã€ã ãªãŒãªã¢ãããŒãã«ãªããšæåŸ ããŠããŸãã
ãããããŒã«ã¢ãŠããããšããç§ãã¡ã¯ãããè¿·æã«ãªããªãããã«ãVSTSã䜿ããšãã®éªéã«ãªããªãããã«ã極ããŠæ éã«å®æœããŠããŸãã ã¡ãžã£ãŒãªãªãŒã¹ããšã«çµ±èšçã«é¢é£æ§ã®é«ãçµæãåéããããã«ãå¿ èŠãªäººæ°ãæå°éã«ããããä¿ããŸãã äžæãããã«æå°éã«æããããã«ãç§ãã¡ã¯ã¢ã«ãŠã³ããšãããžã§ã¯ãããŒã ããŒãžã蚪ãã人ã®ã¿ã«åãåãããŸãã ãŸãããã€ã¢ãã°ãéãããã¯ãªãã¯ããããããšãããã³ããã衚瀺ãããªããªããŸã§ã«æ°åã ãã¡ãã»ãŒãžã衚瀺ãããŸããç§ãã¡ã¯ã3ãæããšã«1åã®ã¿ãã£ãŒãããã¯ã衚瀺ããå šäœçãªåççã«åºã¥ããŠãã£ãŒãããã¯ããããšãçŽæããŸãã ãŸãããã¹ãŠã®ãã£ãŒãããã¯ãèªãã§ãåŸåãæ¢ããæã«ã¯é«æ°Žæºã®æŽå¯ãå ±æããããšãçŽæããŸãã
ãã®ãã£ãŒãããã¯ãã£ã³ãã«ã«åå ããŠããã ãããããšãããããŸããç§ãã¡ã¯ããªãã®ããšãåŠã³ãã客æ§ã®ããŒãºã«åãããŠãµãŒãã¹ãæ¹åããŠãããŸãã
ç§ãã¡ã¯ããªãããããã®æ©èœã«ã€ããŠäœãèããŠããã®ãèããŠã¿ãããšæããŸãã æ°ãããã£ãŒãããã¯ã¡ãã¥ãŒã§åªå é äœãã€ããããšæã£ãŠããããšã«é¢ããã¢ã€ãã¢ãããå Žåã¯ãåé¡ãå ±åããããææ¡ãæåºããŠãã ããã
ããªãã®çåã«å¯Ÿããåçãã»ããå ŽåãStack Overflowã³ãã¥ããã£ã§èããŠã¿ãŠãã ããã
ããããšãããããŸããã
Anand Kamat