GitHub ã·ãŒã¯ã¬ããã®çš®é¡ã«ã€ããŠ
GitHub ã·ãŒã¯ã¬ããã¯ãAPI ããŒãããŒã¯ã³ããã¹ã¯ãŒããªã©ã®æ©å¯æ å ±ããªããžããªã«å®å šã«æ ŒçŽããããã«äœ¿ãããŸãã
æ©å¯æ å ±ã GitHub ã·ãŒã¯ã¬ãããšããŠæ ŒçŽãããšãè³æ Œæ å ±ãããŒãããŒãã³ãŒãã£ã³ã°ããå¿ èŠããªããªããã³ãŒãããã°ã§ã®é²åºãé²ãããšãã§ããŸãã ãã®ã·ãŒã¯ã¬ããã¯ããµãŒãã¹ã®èªèšŒãè³æ Œæ å ±ã®ç®¡çãã¯ãŒã¯ãããŒã§ã®æ©å¯ããŒã¿ã®ã»ãã¥ãªãã£ã§å®å šãªåãæž¡ãã«äœ¿çšã§ããŸãã
3 çš®é¡ã®ã·ãŒã¯ã¬ããã GitHub ã§äœ¿ãããŠããŸãã
GitHub ã·ãŒã¯ã¬ããã®çš®é¡ã«å¿ããŠããªããžããªãorganizationããŸãã¯å人çšã¢ã«ãŠã³ãã®ã»ãã¥ãªãã£ã®èšå®ããŒãžã§ã·ãŒã¯ã¬ãããäœæããã³ç®¡çã§ããŸãã
GitHub ãã·ãŒã¯ã¬ãããæ ŒçŽããæ¹æ³ã®æŠèŠ
GitHub ã¯ãLibsodium ã·ãŒã«ã ããã¯ã¹ã䜿ã£ãŠã·ãŒã¯ã¬ãããæå·åããŸãã ã·ãŒã¯ã¬ããã¯ãGitHub ã«å°éããåã«æå·åãããé¢é£ãããµãŒãã¹ (DependabotãGitHub ActionsããŸã㯠Codespaces) ã§äœ¿ããããŸã§æå·åããããŸãŸã«ãªããŸãã
Dependabot ã®ã·ãŒã¯ã¬ãã
Dependabot ã·ãŒã¯ã¬ããã¯ãDependabot å ã§äœ¿ãè³æ Œæ å ±ãšæ©å¯æ å ±ãæ ŒçŽããããã«äœ¿ãããŸãã
Dependabot ã·ãŒã¯ã¬ããã¯ãªããžããªã® dependabot.yml
ãã¡ã€ã«ã§åç
§ãããŸãã
äœ¿çšæ¹æ³
Dependabot ã·ãŒã¯ã¬ããã¯ãéåžžããã©ã€ããŒã ããã±ãŒãž ã¬ãžã¹ããªã«å¯ŸããèªèšŒã®ããã« Dependabot ã«ãã£ãŠäœ¿ãããŸãã ããã«ãããDependabot ã§ pull request ãéãããã©ã€ããŒã ãªããžããªå
ã®è匱ãªäŸåé¢ä¿ãå€ãäŸåé¢ä¿ãæŽæ°ã§ããããã«ãªããŸãã èªèšŒã«äœ¿ããããããã® Dependabot ã·ãŒã¯ã¬ããã¯ããªããžããªã® dependabot.yml
ãã¡ã€ã«ã§åç
§ãããŸãã
Dependabot ã·ãŒã¯ã¬ããã«ã¯ãDependabot ã«ãã£ãŠéå§ãããã¯ãŒã¯ãããŒã«å¿
èŠãªã·ãŒã¯ã¬ãããå«ããããšãã§ããŸãã ããšãã°ãDependabot ã¯ãäŸåé¢ä¿ãæŽæ°ãã pull request ãäœæãããšãããŸã㯠pull request ã«ã³ã¡ã³ããä»ãããšãã«ãGitHub Actions ã¯ãŒã¯ãããŒãããªã¬ãŒã§ããŸãã ãã®å Žåãã¯ãŒã¯ãããŒã Dependabot ã€ãã³ãã«ãã£ãŠããªã¬ãŒãããŠããéããDependabot ã·ãŒã¯ã¬ãããã¯ãŒã¯ãã㌠ãã¡ã€ã« (.github/workflows/*.yml
) ããåç
§ã§ããŸãã
ç¯å²
Dependabot ã·ãŒã¯ã¬ããã¯ä»¥äžã§å®çŸ©ã§ããŸãã
- ãªããžã㪠ã¬ãã«
- Organization ã¬ãã«
Organization ã¬ãã«ã§èšå®ãããŠããå ŽåãDependabot ã·ãŒã¯ã¬ããã¯ãªããžããªéã§å ±æã§ããŸãã Organization å ã®ã©ã®ãªããžããªãã·ãŒã¯ã¬ããã«ã¢ã¯ã»ã¹ã§ããããæå®ããå¿ èŠããããŸãã
ã¢ã¯ã»ã¹èš±å¯
Dependabot ãã Dependabot ã·ãŒã¯ã¬ããã«ã¢ã¯ã»ã¹ããã®ã¯ãäŸåé¢ä¿ãæŽæ°ããããã«ãã©ã€ããŒã ã¬ãžã¹ããªã«å¯ŸããèªèšŒãåãããšãã§ãã
GitHub Actions ã¯ãŒã¯ãããŒãã Dependabot ã·ãŒã¯ã¬ããã«ã¢ã¯ã»ã¹ããã®ã¯ãã¯ãŒã¯ãããŒã®ããªã¬ãŒ ã€ãã³ãã Dependabot ã«ãã£ãŠéå§ããããšãã§ãã ããã¯ãã¯ãŒã¯ãããŒã Dependabot ã«ãã£ãŠéå§ãããæç¹ã§äœ¿çšã§ããã®ã¯ Dependabot ã·ãŒã¯ã¬ããã®ã¿ã§ãããActions ã·ãŒã¯ã¬ããã«ã¯ã¢ã¯ã»ã¹ã§ããªãããã§ãã ãã®ããããããã®ã¯ãŒã¯ãããŒã«å¿
èŠãªãã¹ãŠã®ã·ãŒã¯ã¬ããã¯ãActions ã·ãŒã¯ã¬ããã§ã¯ãªããDependabot ã·ãŒã¯ã¬ãããšããŠæ ŒçŽããå¿
èŠããããŸãã pull_request_target
ã€ãã³ãã«ã¯è¿œå ã®ã»ãã¥ãªãã£å¶éããããŸãã ãå¶éäºé
ãšå¶çŽäºé
ããåç
§ããŠãã ããã
ãŠãŒã¶ãŒã®ã¢ã¯ã»ã¹èš±å¯
ãªããžããªã¬ãã«ã®ã·ãŒã¯ã¬ãã:
- ãªããžããªã«å¯ŸããŠç®¡çè ã¢ã¯ã»ã¹æš©ãæã€ãŠãŒã¶ãŒã¯ãDependabot ã·ãŒã¯ã¬ãããäœæããã³ç®¡çã§ããŸãã
- ãªããžããªã«å¯ŸããŠã³ã©ãã¬ãŒã¿ãŒ ã¢ã¯ã»ã¹æš©ãæã€ãŠãŒã¶ãŒã¯ãDependabot ã·ãŒã¯ã¬ããã䜿çšã§ããŸãã
Organization ã¬ãã«ã®ã·ãŒã¯ã¬ãã:
- Organization ææè ã¯ãDependabot ã·ãŒã¯ã¬ãããäœæããã³ç®¡çã§ããŸãã
- åã·ãŒã¯ã¬ããã«ã¢ã¯ã»ã¹ã§ãããªããžããªã«å¯ŸããŠã³ã©ãã¬ãŒã¿ãŒ ã¢ã¯ã»ã¹æš©ãæã€ãŠãŒã¶ãŒã¯ãDependabot ã·ãŒã¯ã¬ããã䜿çšã§ããŸãã
å¶éäºé ãšå¶çŽäºé
Dependabot ã«ãã£ãŠéå§ãããã¯ãŒã¯ãããŒã®å Žåãpull_request_target
ã€ãã³ãã¯ä»ã®ã€ãã³ããšã¯ç°ãªãæ¹æ³ã§åŠçãããŸãã ãã®ã€ãã³ãã§ãpull request ã®ããŒã¹åç
§ã Dependabot (github.event.pull_request.user.login == 'dependabot[bot]'
) ã«ãã£ãŠäœæãããå Žå:
- ã¯ãŒã¯ãããŒã¯èªã¿åãå°çšã®
GITHUB_TOKEN
ãåãåããŸãã - ã·ãŒã¯ã¬ããã¯ãã¯ãŒã¯ãããŒã«ã¯å©çšã§ããŸããã
ãã®è¿œå ã®å¶éã¯ãDependabot ã«ãã£ãŠäœæããã pull request ããçããå¯èœæ§ã®ããæœåšçãªã»ãã¥ãªã㣠ãªã¹ã¯ãé²ãã®ã«åœ¹ç«ã¡ãŸãã
Dependabot ã·ãŒã¯ã¬ããã¯ãã©ãŒã¯ã«æž¡ãããŸããã
ã¢ã¯ã·ã§ã³ ã·ãŒã¯ã¬ãã
Actions ã·ãŒã¯ã¬ããã¯ãAPI ããŒãèªèšŒããŒã¯ã³ããã®ä»ã®è³æ Œæ å ±ãªã©ã®æ©å¯æ å ±ãã¯ãŒã¯ãããŒã«æ ŒçŽããããã«äœ¿ãããŸãã
äœ¿çšæ¹æ³
Actions ã·ãŒã¯ã¬ããã¯ã¯ãŒã¯ãã㌠ãã¡ã€ã« (.github/workflows/*.yml
) ã§åç
§ãããŸãã
ç¯å²
Actions ã·ãŒã¯ã¬ããã¯ä»¥äžã§å®çŸ©ã§ããŸãã
- ãªããžã㪠ã¬ãã«
- ç°å¢ã¬ãã«
- Organization ã¬ãã«
ç°å¢ã¬ãã«ã®ã·ãŒã¯ã¬ããã¯ãéçšãã¹ããŒãžã³ã°ãªã©ã®ç¹å®ã®ç°å¢ã«åºæã§ãã Actions ã·ãŒã¯ã¬ããã¯ãorganization ã¬ãã«ã§èšå®ãããŠããå Žåããªããžããªéã§å ±æã§ããŸãã ã¢ã¯ã»ã¹ ããªã·ãŒã䜿ã£ãŠãã·ãŒã¯ã¬ããã«ã¢ã¯ã»ã¹ã§ãããªããžããªãå¶åŸ¡ã§ããŸãã
ã¢ã¯ã»ã¹èš±å¯
Actions ã·ãŒã¯ã¬ããã¯ãGitHub Actions ã¯ãŒã¯ãããŒå ã§ã®ã¿äœ¿çšã§ããŸãã Actions äžã§å®è¡ãããŠãããšããŠããDependabot 㯠Actions ã·ãŒã¯ã¬ããã«ã¢ã¯ã»ã¹ã§ããŸããã
Dependabot ã«ãã£ãŠéå§ãããã¯ãŒã¯ãããŒã®å ŽåãActions ã·ãŒã¯ã¬ããã¯äœ¿çšã§ããŸããã ã¯ãŒã¯ãããŒããã¢ã¯ã»ã¹ã§ããããã«ããã«ã¯ããããã®ã¯ãŒã¯ãã㌠ã·ãŒã¯ã¬ããã Dependabot ã·ãŒã¯ã¬ãããšããŠæ ŒçŽããå¿ èŠããããŸãã
Actions ã·ãŒã¯ã¬ãããæ ŒçŽããå Žæã«ãã£ãŠããã®ã¢ã¯ã»ã¹å¯åŠã決ãŸããŸãã
- ãªããžã㪠ã·ãŒã¯ã¬ãã: ãªããžããªå ã®ãã¹ãŠã®ã¯ãŒã¯ãããŒãã·ãŒã¯ã¬ããã«ã¢ã¯ã»ã¹ã§ããŸãã
- ç°å¢ã·ãŒã¯ã¬ãã: ã·ãŒã¯ã¬ããã¯ããã®ç¹å®ã®ç°å¢ãåç §ãããžã§ãã«éå®ãããŸãã
- Organization ã·ãŒã¯ã¬ãã: organization ã«ãã£ãŠã¢ã¯ã»ã¹ãèš±å¯ããããªããžããªå ã®ãã¹ãŠã®ã¯ãŒã¯ãããŒã¯ãorganization ã·ãŒã¯ã¬ããã«ã¢ã¯ã»ã¹ã§ããŸãã
ãŠãŒã¶ãŒã®ã¢ã¯ã»ã¹èš±å¯
ãªããžããªã¬ãã«ãšç°å¢ã®ã·ãŒã¯ã¬ãã:
- ãªããžããªã«å¯ŸããŠç®¡çè ã¢ã¯ã»ã¹æš©ãæã€ãŠãŒã¶ãŒã¯ãActions ã·ãŒã¯ã¬ãããäœæããã³ç®¡çã§ããŸãã
- ãªããžããªã«å¯ŸããŠã³ã©ãã¬ãŒã¿ãŒ ã¢ã¯ã»ã¹æš©ãæã€ãŠãŒã¶ãŒã¯ãã·ãŒã¯ã¬ããã䜿çšã§ããŸãã
Organization ã¬ãã«ã®ã·ãŒã¯ã¬ãã:
- Organization ææè ã¯ãActions ã·ãŒã¯ã¬ãããäœæããã³ç®¡çã§ããŸãã
- åã·ãŒã¯ã¬ããã«ã¢ã¯ã»ã¹ã§ãããªããžããªã«å¯ŸããŠã³ã©ãã¬ãŒã¿ãŒ ã¢ã¯ã»ã¹æš©ãæã€ãŠãŒã¶ãŒã¯ãã·ãŒã¯ã¬ããã䜿çšã§ããŸãã
å¶éäºé ãšå¶çŽäºé
- Actions ã·ãŒã¯ã¬ããã¯ãDependabot ã«ãã£ãŠéå§ãããã¯ãŒã¯ãããŒã§ã¯äœ¿çšã§ããŸããã
- Actions ã·ãŒã¯ã¬ããã¯ããã©ãŒã¯ããã® pull request ã«ãã£ãŠããªã¬ãŒãããã¯ãŒã¯ãããŒã«ã¯æž¡ãããŸããã
- ã¯ãŒã¯ãã㌠ãã°ã«åºåããããã¹ãŠã® GitHub ã·ãŒã¯ã¬ããã®å 容㯠GitHub Actions ã«ãã£ãŠèªåçã«ãªãã¯ããããŸãã
- æå€§ 1,000 åã®çµç¹ã·ãŒã¯ã¬ããã100 åã®ãªããžã㪠ã·ãŒã¯ã¬ããã100 åã®ç°å¢ã·ãŒã¯ã¬ãããæ ŒçŽã§ããŸãã ã·ãŒã¯ã¬ããã®ãµã€ãºã¯æå€§ 48 KB ã§ãã 詳现ã«ã€ããŠã¯ããã·ãŒã¯ã¬ããã®å¶éããåç §ããŠãã ããã
Codespaces ã·ãŒã¯ã¬ãã
Codespaces ã·ãŒã¯ã¬ããã«ã¯ãGitHub Codespaces å ã§äœ¿ãè³æ Œæ å ±ãšæ©å¯æ å ± (API ããŒã¯ã³ã SSH ããŒãªã©) ãæ ŒçŽãããŠããã®ã§ãã»ãã¥ãªãã£ã§ä¿è·ãããéçºç°å¢ãæ§æã§ããŸãã
äœ¿çšæ¹æ³
Codespaces ã·ãŒã¯ã¬ããã¯ãCodespaces éçºã³ã³ãããŒã®æ§æ (devcontainer.json
) å
ã§åç
§ãããŸãã
ç¯å²
Codespaces ã·ãŒã¯ã¬ããã¯ä»¥äžã§å®çŸ©ã§ããŸãã
- ãŠãŒã¶ãŒ ã¢ã«ãŠã³ã ã¬ãã«
- ãªããžã㪠ã¬ãã«
- Organization ã¬ãã«
ãŠãŒã¶ãŒ ã¢ã«ãŠã³ã ã¬ãã«ã®ã·ãŒã¯ã¬ããã®å Žåãã·ãŒã¯ã¬ããã«ã¢ã¯ã»ã¹ã§ãããªããžããªãéžæã§ããŸãã Organization ã¬ãã«ã§èšå®ãããŠããå ŽåãCodespaces ã·ãŒã¯ã¬ããã¯ãªããžããªéã§å ±æã§ããŸãã ã¢ã¯ã»ã¹ ããªã·ãŒã䜿ã£ãŠãã·ãŒã¯ã¬ããã«ã¢ã¯ã»ã¹ã§ãããªããžããªãå¶åŸ¡ã§ããŸãã
ã¢ã¯ã»ã¹èš±å¯
Codespaces ã·ãŒã¯ã¬ããã«ã¯ãCodespaces ã§ã®ã¿ã¢ã¯ã»ã¹ã§ããŸãã
GitHub Actions ã¯ãCodespaces ã®ã·ãŒã¯ã¬ããã«ã¢ã¯ã»ã¹ã§ããŸããã
ãŠãŒã¶ãŒã®ã¢ã¯ã»ã¹èš±å¯
ãŠãŒã¶ãŒ ã¢ã«ãŠã³ãã¬ãã«ã®ã·ãŒã¯ã¬ãã:
- Codespaces ã·ãŒã¯ã¬ããã¯ããã®ã·ãŒã¯ã¬ããã«ã¢ã¯ã»ã¹ã§ãããªããžããªã䜿ã£ãŠäœæãã codespace ã§äœ¿çšã§ããŸãã
ãªããžããªã¬ãã«ã®ã·ãŒã¯ã¬ãã:
- ãªããžããªã«å¯ŸããŠç®¡çè ã¢ã¯ã»ã¹æš©ãæã€ãŠãŒã¶ãŒã¯ãCodespaces ã·ãŒã¯ã¬ãããäœæããã³ç®¡çã§ããŸãã
- ãªããžããªã«å¯ŸããŠã³ã©ãã¬ãŒã¿ãŒ ã¢ã¯ã»ã¹æš©ãæã€ãŠãŒã¶ãŒã¯ãã·ãŒã¯ã¬ããã䜿çšã§ããŸãã
Organization ã¬ãã«ã®ã·ãŒã¯ã¬ãã:
- Organization ææè ã¯ãCodespaces ã·ãŒã¯ã¬ãããäœæããã³ç®¡çã§ããŸãã
- åã·ãŒã¯ã¬ããã«ã¢ã¯ã»ã¹ã§ãããªããžããªã«å¯ŸããŠã³ã©ãã¬ãŒã¿ãŒ ã¢ã¯ã»ã¹æš©ãæã€ãŠãŒã¶ãŒã¯ãã·ãŒã¯ã¬ããã䜿çšã§ããŸãã
å¶éäºé ãšå¶çŽäºé
- GitHub Codespaces ã«ã¯æå€§ 100 åã®ã·ãŒã¯ã¬ãããä¿åã§ããŸãã
- ã·ãŒã¯ã¬ããã®ãµã€ãºã¯æå€§ 48 KB ã§ãã
- Codespaces ã·ãŒã¯ã¬ããã¯ãã©ãŒã¯ã«æž¡ãããŸããã