codespace ã®ã»ãã¥ãªãã£ã®æŠèŠ
GitHub Codespaces ã¯ãæ¢å®ã§ã»ãã¥ãªãã£åŒ·åãããããã«èšèšãããŠããŸãã ãã®çµæããœãããŠã§ã¢éçºã®ãã©ã¯ãã£ã¹ã«ãã£ãŠãcodespace ã®ã»ãã¥ãªãã£äœå¶ãäœäžãããªã¹ã¯ããªãããšã確èªããå¿ èŠããããŸãã
ãã®ã¬ã€ãã§ã¯ãGitHub Codespaces ã䜿ã£ãŠéçºç°å¢ãã»ãã¥ãªãã£ã§ä¿è·ãããç¶æ ã«ä¿ã€æ¹æ³ã«ã€ããŠèª¬æããäœæ¥äžã®ã»ãã¥ãªãã£ã®ç¶æã«åœ¹ç«ã€åªãããã©ã¯ãã£ã¹ã玹ä»ããŸãã éçºããŒã«ãšåæ§ã«ãéããŠäœæ¥ããã®ã¯ãèªåãç¥ã£ãŠããŠä¿¡é Œã§ãããªããžããªå ã«ã®ã¿ããå¿ èŠãããããšãèŠããŠãããŠãã ããã
ç°å¢ã®åé¢
GitHub Codespaces ã¯ãç¬èªã®ä»®æ³ãã·ã³ãšãããã¯ãŒã¯ã䜿çšããŠãcodespace ãäºãã«åé¢ããããã«èšèšãããŠããŸãã
åé¢ãããä»®æ³ãã·ã³
å codespace ã¯ãç¬èªã®æ°ããæ§ç¯ãããä»®æ³ãã·ã³ (VM) ã§ãã¹ããããŸãã 2 ã€ã® codespace ãåã VM ã«äœµçœ®ãããããšã¯ãããŸããã
codespace ã¯åèµ·åãããã³ã«ãå©çšå¯èœãªææ°ã®ã»ãã¥ãªãã£æŽæ°ããã°ã©ã ã䜿çšããŠæ°ãã VM ã«å±éãããŸãã
åé¢ããããããã¯ãŒã¯
å codespace ã«ã¯ãç¬èªã®åé¢ãããä»®æ³ãããã¯ãŒã¯ããããŸãã ãã¡ã€ã¢ãŠã©ãŒã«ã䜿çšããŠãã€ã³ã¿ãŒãããããã®çä¿¡æ¥ç¶ããããã¯ããå éšãããã¯ãŒã¯äžã§ codespace ãçžäºã«éä¿¡ã§ããªãããã«ããŸãã Codespaces ã¯ã€ã³ã¿ãŒããããžã®éä¿¡æ¥ç¶ãè¡ãããšãèš±å¯ãããŸãã
èªèšŒ
Web ãã©ãŠã¶ãŒã䜿çšããããVisual Studio Code ãã codespace ã«æ¥ç¶ã§ããŸãã VS Code ããæ¥ç¶ããå Žåã¯ãGitHub ã§èªèšŒããããã«æ±ããããŸãã
codespace ãäœæãŸãã¯åèµ·åããããã³ã«ãèªåæå¹æéãèšå®ãããæ°ãã GitHub ããŒã¯ã³ãå²ãåœãŠãããŸãã ãã®æéã¯ãäžè¬çãªçšŒåæ¥ã«åèªèšŒããããšãªã codespace ã§äœæ¥ã§ããŸãããcodespace ã®äœ¿çšã忢ãããšãã«æ¥ç¶ãéãããŸãŸã«ãªãå¯èœæ§ã¯äœããªããŸãã
ããŒã¯ã³ã®ã¹ã³ãŒãã¯ãcodespace ãäœæããããªããžããªãžã®ã¢ã¯ã»ã¹æš©ã«ãã£ãŠç°ãªããŸãã
- ãªããžããªãžã®æžã蟌ã¿ã¢ã¯ã»ã¹æš©ãããå Žå: ããŒã¯ã³ã®ã¹ã³ãŒãã¯ãªããžããªãžã®èªã¿åãããã³æžã蟌ã¿ã¢ã¯ã»ã¹æš©ã«ãªããŸãã
- ãªããžããªãžã®èªã¿åãã¢ã¯ã»ã¹æš©ãããªãå Žå: ããŒã¯ã³ã¯ããœãŒã¹ ãªããžããªããã®ã³ãŒãã®è€è£œã®ã¿ãèš±å¯ããŸãã codespace ã§ã³ããããããšãGitHub Codespaces ã«ãã£ãŠãªããžããªã®ãã©ãŒã¯ãèªåçã«äœæãããããã¢ããã¹ããªãŒã ãªããžããªçšã®ãã©ãŒã¯ãæ¢ã«ããå Žå㯠codespace ãæ¢åã®ãã©ãŒã¯ã«ãªã³ã¯ãããŸãã ããŒã¯ã³ãæŽæ°ããããã©ãŒã¯ãžã®èªã¿åããšæžã蟌ã¿ã®ã¢ã¯ã»ã¹æš©ãäžããããŸãã 詳ããã¯ããCodespace ã§ãœãŒã¹ã³ã³ãããŒã«ã䜿çšããããã芧ãã ããã
- codespace ã«ä»ã®ãªããžããªãžã®ã¢ã¯ã»ã¹ãèš±å¯ããå Žå: ããŒã¯ã³ã«ã¯ããœãŒã¹ ãªããžããªãšã¢ã¯ã»ã¹ãæ¿èªããä»ã®ãªããžããªãžã®èªã¿åããŸãã¯èªã¿åã/æžã蟌ã¿ã¢ã¯ã»ã¹æš©ã®ã¹ã³ãŒããèšå®ãããŸãã 詳ããã¯ããcodespace å ã®ä»ã®ãªããžããªãžã®ã¢ã¯ã»ã¹ã®ç®¡çããã芧ãã ããã
codespace ã®æ¥ç¶
GitHub Codespaces ãµãŒãã¹ã«ãã£ãŠæäŸããã TLS æå·åãã³ãã«ã䜿çšããŠãcodespace ã«æ¥ç¶ã§ããŸãã codespace ã®äœæè ã®ã¿ã codespace ã«æ¥ç¶ã§ããŸãã æ¥ç¶ã¯ãGitHub ã§èªèšŒãããŸãã
codespace ã§å®è¡ãããŠãããµãŒãã¹ãžã®å€éšã¢ã¯ã»ã¹ãèš±å¯ããå¿ èŠãããå Žåã¯ããã©ã€ããŒããŸãã¯ãããªã㯠ã¢ã¯ã»ã¹ã®ããŒã ãã©ã¯ãŒãã£ã³ã°ãæå¹ã«ããããšãã§ããŸãã
ããŒã ãã©ã¯ãŒãã£ã³ã°
codespace å ã§å®è¡ãããŠãããµãŒãã¹ (éçºçš Web ãµãŒããŒãªã©) ã«æ¥ç¶ããå¿ èŠãããå Žåã¯ãã€ã³ã¿ãŒãããäžã§ãµãŒãã¹ãå©çšã§ããããã«ããŒã ãã©ã¯ãŒãã£ã³ã°ãæ§æã§ããŸãã
Organization ã®ææè ã¯ã転éããŒããå ¬éã Organization å ã§äœ¿çšã§ããããã«ããæ©èœãå¶éã§ããŸãã 詳ããã¯ãã転éãããããŒãã®å¯èŠæ§ã®å¶éããã芧ãã ããã
ãã©ã€ããŒã転éããŒã: ã€ã³ã¿ãŒãããäžã§ã¢ã¯ã»ã¹ã§ããŸãããGitHub ã§ã®èªèšŒåŸã¯ãcodespace ã®äœæè ã®ã¿ãã¢ã¯ã»ã¹ã§ããŸãã
Organization å ã®ãããªãã¯è»¢éããŒã: ã€ã³ã¿ãŒãããäžã§ã¢ã¯ã»ã¹ã§ããŸãããGitHub ã§ã®èªèšŒåŸã¯ãcodespace ãšåã organization ã®ã¡ã³ããŒã®ã¿ãã¢ã¯ã»ã¹ã§ããŸãã
ãããªãã¯è»¢éããŒã: ã€ã³ã¿ãŒãããäžã§ã¢ã¯ã»ã¹ã§ããã€ã³ã¿ãŒãããäžã®ã ãã§ãã¢ã¯ã»ã¹ã§ããŸãã ãããªãã¯è»¢éããŒãã«ã¢ã¯ã»ã¹ããããã®èªèšŒã¯å¿ èŠãããŸããã
æ¢å®ã§ã¯ã転éããããã¹ãŠã®ããŒãããã©ã€ããŒãã§ããã€ãŸããããŒãã«ã¢ã¯ã»ã¹ããåã«èªèšŒããå¿ èŠããããŸãã codespace ã®ãã©ã€ããŒã転éããŒããžã®ã¢ã¯ã»ã¹ã¯ã3 æéã®æå¹æéãæã€èªèšŒ Cookie ã«ãã£ãŠå¶åŸ¡ãããŸãã Cookie ã®æå¹æéãåããå Žåã¯ãåèªèšŒããå¿ èŠããããŸãã
ããŒããåé€ããŠå远å ãããšãããŸã㯠codespace ãåèµ·åããå Žåããããªãã¯è»¢éããŒãã¯èªåçã«ãã©ã€ããŒãã«æ»ããŸãã
[ããŒã] ããã«ã䜿çšããŠããããªãã¯ãŸãã¯ãã©ã€ããŒã ã¢ã¯ã»ã¹çšã®ããŒããæ§æããäžèŠã«ãªã£ãããŒã ãã©ã¯ãŒãã£ã³ã°ã忢ã§ããŸãã 詳ããã¯ããcodespace ã§ã®ããŒãã®è»¢éããã芧ãã ããã
codespace ã«é©ããã»ãã¥ãªã㣠ãã©ã¯ãã£ã¹
Codespaces ã¯ãæ¢å®ã§ã»ãã¥ãªãã£åŒ·åãããããã«èšèšãããŠããŸãã ãã®äœå¶ãç¶æããããã«ãéçºæé ã®éã¯é©åãªã»ãã¥ãªã㣠ãã©ã¯ãã£ã¹ã«åŸãããšããå§ãããŸãã
- éçºããŒã«ãšåæ§ã«ãéããŠäœæ¥ããã®ã¯ãèªåãç¥ã£ãŠããŠä¿¡é Œã§ãããªããžããªå ã«ã®ã¿ããå¿ èŠãããããšãèŠããŠãããŠãã ããã
- codespace ã«æ°ããäŸåé¢ä¿ã远å ããåã«ãããããé©åã«ç®¡çãããŠãããã©ããããããŠã³ãŒãã«èŠã€ãã£ãã»ãã¥ãªãã£ã®è匱æ§ãä¿®æ£ããæŽæ°ããã°ã©ã ããªãªãŒã¹ãããŠãããã©ããã確èªããŸãã
éçºç°å¢ã·ãŒã¯ã¬ããã䜿çšããæ©å¯æ å ±ãžã®ã¢ã¯ã»ã¹
codespace ã§æ©å¯æ
å ± (ã¢ã¯ã»ã¹ ããŒã¯ã³ãªã©) ã䜿çšããå Žåã¯ãåžžã«éçºç°å¢ã·ãŒã¯ã¬ããã䜿çšããŠãã ããã ã¿ãŒããã«ãããå«ããcodespace å
ã®ç°å¢å€æ°ãšããŠã·ãŒã¯ã¬ããã«ã¢ã¯ã»ã¹ã§ããŸãã ããšãã°ãcodespace å
ã§ã¿ãŒããã«ãèµ·åããecho $SECRET_NAME
ã䜿çšããŠéçºç°å¢ã·ãŒã¯ã¬ããã®å€ã衚瀺ã§ããŸãã
ã·ãŒã¯ã¬ããå€ã¯ãcodespace ãåéãŸãã¯äœæããããã³ã«ç°å¢å€æ°ã«ã³ããŒãããŸãããŸãã倿ŽããããšããåæãããŸãã
codespace ã®ãªããžããªã«æžãèŸŒãæš©éããªãå Žåãéçºç°å¢ã·ãŒã¯ã¬ããã¯ç°å¢ã«ã³ããŒãããŸããã
ã·ãŒã¯ã¬ããã®è©³çްã«ã€ããŠã¯ã次ãåç §ããŠãã ããã
- GitHub Codespaces ã®ã¢ã«ãŠã³ãåºæã®ã·ãŒã¯ã¬ããã®ç®¡ç
- ãªããžããªãŸã㯠Organization ã®éçºç°å¢ã·ãŒã¯ã¬ããã®ç®¡ç
ä»ã®ãŠãŒã¶ãŒã®ã³ã³ããªãã¥ãŒã·ã§ã³ãšãªããžããªã®æäœ
ãã©ãŒã¯ã® PR ãã©ã³ããã codespace ãäœæããå Žåãcodespace å ã®ããŒã¯ã³ã¯ããªããžããªããããªãã¯ã§ããããã©ã€ããŒãã§ãããã«ãã£ãŠæ¬¡ã®ããã«ç°ãªããŸãã
- ãã©ã€ããŒã ãªããžããªã®å Žåãcodespace ã«ã¯ãã©ãŒã¯ãšèŠªã®äž¡æ¹ãžã®ã¢ã¯ã»ã¹ãèš±å¯ãããŸãã
- ãããªã㯠ãªããžããªã®å Žåãcodespace ã¯èŠªã®ãã©ãŒã¯ãšãªãŒãã³ã® PR ã«ã®ã¿ã¢ã¯ã»ã¹ã§ããŸãã
ãŸãããããã®ã·ããªãªã§ã¯ãcodespace ã·ãŒã¯ã¬ãããç°å¢ã«æ¿å ¥ããªãããšã§ãããã«ä¿è·ããŸãã 詳ããã¯ããGitHub Codespaces ã®ã¢ã«ãŠã³ãåºæã®ã·ãŒã¯ã¬ããã®ç®¡çããã芧ãã ããã
ã¡ã¢
codespace å ã®ããŒã¯ã³ã®ã¹ã³ãŒãã¯ããŠãŒã¶ãŒãèªã¿åãã¢ã¯ã»ã¹æš©ããæããªããã©ãŒã¯ãã codespace ãäœæãããã® codespace ã§ã³ãããããããæ°ãããã©ã³ããããã·ã¥ããå Žåã倿Žãããå¯èœæ§ããããŸãã ãã®ç¶æ³ã§ã¯ãä»ã®ãªããžããªãšåæ§ã«ãGitHub Codespaces ã¯ãæ°ãããã©ãŒã¯ãèªåçã«äœæãããããŠãŒã¶ãŒã®ã¢ã«ãŠã³ãã«ãã£ãŠææãããŠããæ¢åã®ãã©ãŒã¯ã« codespace ããªã³ã¯ããæ°ãããªã³ã¯ããããã©ãŒã¯ãžã®èªã¿åããšæžã蟌ã¿ã®ã¢ã¯ã»ã¹æš©ãæã€ããã«ããŒã¯ã³ãæŽæ°ããŸãã 詳ããã¯ããCodespace ã§ãœãŒã¹ã³ã³ãããŒã«ã䜿çšããããã芧ãã ããã
GitHub Codespaces ã codespace ãæ¢åã®ãã©ãŒã¯ã«ãªã³ã¯ãããšãããã®æ¢åã®ãã©ãŒã¯ãšããŠã¯ãcodespace ã®äœæå ã«ãªã£ããã©ãŒã¯ã®ãã©ãŒã¯ããŸãã¯å ±æã¢ããã¹ããªãŒã ãªããžããªã®ç¬èªã®ãã©ãŒã¯ã䜿çšã§ããŸãã
ãã®ä»ã®åªãããã©ã¯ãã£ã¹
åªãããã©ã¯ãã£ã¹ããGitHub Codespaces ã䜿ãå Žåã«æ³šæãå¿ èŠãªãªã¹ã¯ã¯ä»ã«ããããŸãã
ãªããžããªã® devcontainer.json ãã¡ã€ã«ã«ã€ããŠ
codespace ãäœæãããšãã«ããªããžããªçšã« devcontainer.json
ãã¡ã€ã«ãèŠã€ãã£ãå Žåããã®ãã¡ã€ã«ã¯è§£æãããcodespace ã®æ§æã«äœ¿çšãããŸãã devcontainer.json
ãã¡ã€ã«ã«ã¯ããµãŒãããŒãã£ã®æ¡åŒµæ©èœãã€ã³ã¹ããŒã«ããããpostCreateCommand
ã§æå®ãããä»»æã®ã³ãŒããå®è¡ããããããããªã匷åãªæ©èœãå«ãŸããŠããŸãã
詳ããã¯ããéçºã³ã³ãããŒã®æŠèŠããã芧ãã ããã
æ©èœã䜿çšããã¢ã¯ã»ã¹ã®èš±å¯
ç¹å®ã®éçºç°å¢ã§ã¯ãç°å¢ãžã®ãªã¹ã¯ãå¢å ããå¯èœæ§ããããŸãã ããšãã°ãã³ãããã®çœ²åãç°å¢å€æ°ã«æ¿å ¥ãããã·ãŒã¯ã¬ãããèªèšŒæžã¿ã¬ãžã¹ã㪠ã¢ã¯ã»ã¹ãããã±ãŒãž ã¢ã¯ã»ã¹ãªã©ã¯ãã¹ãŠãã»ãã¥ãªãã£äžã®åé¡ãçºçããå¯èœæ§ããããŸãã å¿ èŠãªãŠãŒã¶ãŒã«ã®ã¿ã¢ã¯ã»ã¹ãèš±å¯ããå¯èœãªéãå¶éãããããªã·ãŒãæ¡çšããããšããå§ãããŸãã
æ¡åŒµæ©èœã®äœ¿çš
远å ã® VS Code æ¡åŒµæ©èœãã€ã³ã¹ããŒã«ãããšãããå€ãã®ãªã¹ã¯ãçºçããå¯èœæ§ããããŸãã ãã®ãªã¹ã¯ã軜æžããã«ã¯ãä¿¡é Œã§ããæ¡åŒµæ©èœã®ã¿ãã€ã³ã¹ããŒã«ããåžžã«ææ°ã®ç¶æ ã«ä¿ã€ããã«ããŸãã
Settings Sync ã䜿ã
VS Code ã® Settings Sync ã䜿ããšãæœåšçã«æªæã®ããã³ã³ãã³ããããã€ã¹éã§è»¢éãããŸãã æ¢å®ã§ã¯ããã©ãŠã¶ãŒã§éããã codespace ã® Settings Sync ã¯ç¡å¹ã«ãªã£ãŠããŸãã ä¿¡é Œã§ããªãã³ã³ãã³ããæã€ãªããžããªã® codespace ãäœæããå Žåã¯ããã©ãŠã¶ãŒã§ codespace ãéãã[Settings Sync] ããªãã®ãŸãŸã«ããå¿ èŠããããŸãã
ãŠãŒã¶ãŒèšå®ã§ [Settings Sync] ãæå¹ã«ããŠããŠãèšå®ã倿Žã㊠codespaces ãã VS Code ã®ä»ã®ã€ã³ã¹ã¿ã³ã¹ã«åæã§ããããã«ããå Žåã¯ããã¹ãŠã®ãªããžããªãä¿¡é Œããã®ã§ã¯ãªããä¿¡é Œããããªããžããªã®éžæãªã¹ãã远å ããããšããå§ãããŸãã ä¿¡é Œããããªããžããªãã codespace ãäœæãããšãcodespaces ã®èšå®ã«å ãã倿Žã¯ãã¯ã©ãŠãã«ãã£ãã·ã¥ãããèšå®ãšåæãããããããããã€ã¹ã«è»¢éã§ããŸãã èšå®ã®åæã®ç®¡çã«ã€ããŠè©³ããã¯ããã¢ã«ãŠã³ãã® GitHub Codespaces ãããŒãœãã©ã€ãºããããã芧ãã ããã