GitHubãçããã©ã¤ãã©ãªã®ãã¼ã¸ã§ã³ç®¡çåé¡ãã®è§£æ±ºã¨ä¾åé¢ä¿å°çã®è©±
GitHubãçããã©ã¤ãã©ãªã®ãã¼ã¸ã§ã³ç®¡çåé¡ãã®è§£æ±ºã¨ä¾åé¢ä¿å°çã®è©±
â Githubã OSS Security Foundation ã«å ¥ãã¾ãããã 大å¤èå³æ·±ã㦠é¢é£ããããã¥ã¡ã³ã ãªãã«ã¤ãã¦ä¼ç¤¾ã®ãã¼ã ã§éè«ãã¦ããã¨ããã GitHubã®ãDependaBotããä½ãçããã©ãããã大ããªèª²é¡ãã解決ããã®ãï¼ ã¨ãã話ã«ããã¦ãç¹ã¨ç¹ãçµã³ã¤ããæããããã®ã§è¨èªåãã¦ã¿ã¾ãã
ããã®å¤§ããªèª²é¡ãã説æããåã« Dependency Hell ã«ã¤ãã¦å½å ã§è¨åãã¦ãè¨äºãããã»ã©ãªãã®ã§ ãã®è¾ºããã¾ãã¯æ¸ãã¦ããã¾ãã
ããã®ããããå½å ã®éçºè ã®ä¸ã§ãèªèãåºã¾ã£ã¦ããã¨ãããä¸æ©å ã®ã¹ãã¼ã¸ã«ããã®ããªã¨æãã®ã§ã æ¯è¼çã©ããªæãã§æ¸ãã¦ããã¾ãã â ã¡ãªã¿ã«ããã®ããã°è¨äºã¯æå±çµç¹ã¨ãã«é¢ä¿ãªãå人ã§å·çãã¦ãã¾ãã ãªã®ã§1ãããããã¼ã¨ãã¦ãDependabotãä½ãæãéããã®ãï¼ããã¨ãã¦ããã®ãï¼ãå人çææ³ã§ã¾ã¨ãã¦ã¿ã¾ãã ï¼åã®æå±ããçµç¹ã¯è¿ããé åãªã®ã§ãã¤ã¢ã¹ãæããæ°å³ããã§ããã注æãã ãããï¼ â ã¡ãªã¿ã«ãããªãã¨è¨ããªããåèªèº«ã¯ DependaBot ã¤ãã£ã¦ãªãã§ãã ï¼æ©ä¼ããªãã ãï¼ â
Dependabotã§ã§ãããã¨
â ãããã¡ã¤ã³ã®è¨äºã§ã¯ãªãã®ã§ããµã¯ãã¨æ¸ãã¦ãã¾ãã¾ãã Dependabot ã¯ããããã§ã¹ããã¡ã¤ã«ã¯ããããã¼ã¸ã«æ¸ãã¦ããã¨ãã
Dependabotã¯ä¾åé¢ä¿ãå®å ¨ãã¤ææ°ã«ä¿ã¤ããã«ãã«ãªã¯ã¨ã¹ããä½æãã¾ãã
ã¨ãããã¼ã«ã§ãã
Dependabot ã¯å¯¾è±¡ã®Gitããã¸ã§ã¯ãã®ä¸ããã ãããã§ã¹ããã¡ã¤ã«( pom.xml
, Gemfile
ãªã©ã®ãä¾åããã©ã¤ãã©ãªãªã©ã®ç®¡çãã¡ã¤ã«)ããã¼ã¹ã«ããå¤ãã©ã¤ãã©ãªããèå¼±æ§ãæã£ã¦ãã©ã¤ãã©ãªããªã©ãæ¤ç¥ããèªåã§ãã«ãªã¯ãä½ã£ã¦ããããã¤ã§ãã
â
ããããã£ã¡ãããããããå³å°å
¥ï¼ãã¨è¡ãã°ãããã§ãããããã¤ãé©åã«ãã³ããªã³ã°ããã®ã¯
ãªãã ããã é£ããã£ãããã¾ãã
â
ãã¼ã¸ã§ã³ã¢ããã®å°ç
â ãã¦ãDependabot ãå ¥ãã¦ããèå¼±æ§ãåºãã»å¤ãã©ã¤ãã©ãªã ãã¨ããç¶æ³ãèµ·ãã¦ææ°çã®PullReqãæ¥ãã¨ãã¾ãããã
ããã§æ©éï¼å²ã¨ç®ã«ããï¼åé¡ãçºçãã¾ãã ãã㯠ããï¼ç§ã®ï¼ã©ã¤ãã©ãªã®ãã¼ã¸ã§ã³ï¼ä½ããã»ã»ã»ã åé¡ã§ãã ï¼å®éã¯ããã ããããªãã®ã§ãããããã¯ãã®ç¯ã®å¾åã«ã»ã»ã»ï¼
ãã®æç¹ã§åãã£ã¦ããããã¨æãã¾ãããããã°ã©ãã¼ã¯æ æ°ãªã®ã§ãå ¨ã¦ã®ã©ã¤ãã©ãªãææ°ã«ãªã£ã¦ããããã¸ã§ã¯ã ãªãã¦ãã®ã¯æã£ã¦ãããããå¤ãã¯ãªãã¯ãã§ãã
ãããªä¸ããããªãã¡ã¸ã£ã¼ãã¼ã¸ã§ã³ããã£ã¡ãä¸ããï¼å ´åã«ãã£ã¦ã¯ç¹å¤§ã®ï¼ã©ã¤ãã©ãªã¢ãããã¼ããªãã¦ãå®æã«ã§ãããããããã¾ããã
ãããããã§ã¢ãããã¼ãããã¦ãã¾ã£ãå ´åãããããä»ã¾ã§ä½¿ã£ã¦ããã¡ã½ãããå»æ¢ããã¦ãããã ç¹å®ã®ã¡ã½ããã®æåãå¤ãã£ã¦ããããå é¨å®è£ ã®å¤æ´ã«ãã£ã¦ããã©ã¼ãã³ã¹ä¸ã®åé¡ãçºçãããªãã¦ãã¨ãããããããã¾ããã
ãããªã£ã¦ããã¨ãå®å ¨ã«ãã¹ããéãããããã¾ããã UTãè½ã¡ã¦ãªãã確èªããITãªã©ã§æåã®å¤æ´ãªã©ã確èªããã¦ããªããã¨ã確èªãã E2Eã§ãã£ãããã¼ã«ããã¯ãã©ã³ãèããããã«ããªã¢ãªãªã¼ã¹ãããã¨ã¾ã大å¤ã§ãã
ãã£ã¨ãã¾ã ããã§åé¡ãããã¾ãããããããUTã®ã«ãã¬ãã¸ã xxï¼ ãããªãããã§ãã ã§ã¯ä½ãæã£ã¦ããã®ã¢ãããã¼ãã¯å®å ¨ã ãã¨è¨ãã°ãããã§ãããï¼
ã§ã Dependabot ã¯ç¡éªæ°ã«ã¢ãããã¼ããé²ãã¦ããã»ã»ã»ã
ã«ããªã¢ã®ç°å¢ããªãã»ã»ã»ã â
Dependency Hellï¼ä¾åå°çï¼
â åé¡ãããã ãã§ããã°ã¾ã 対å¦ã®æ¹æ³ã¯ããããã§ãï¼ã¯ã¡ããã¡ãé å¼µã£ã¦ãã¹ãããã¨ãã»ã»ã»ï¼ï¼ã ãã ãã£ã¨å¤§ããé£ããåé¡ãé ããã¦ãã¾ãã ï¼ããã¦Dependabot ã¯ä»ããè¨è¼ãããã®å¤§ããã¦è¤éãªåé¡ãï¼ããããï¼è§£æ±ºãããã¨èãã¦ããããã«è¦ãã¾ãï¼
ããã Dependency Hell ã¨å¼ã°ããåé¡ã§ãã Dependency Hellã¯ãã©ã¤ãã©ãªãªã©ãããã«ä»ã®ã©ã¤ãã©ãªã«ä¾åããã¨è¨ã£ãå½¢å¼ã®ä¾åæ§å°çã¨ããç©ãæãè¨èã§ããï¼ééã£ã¦ãªãããï¼ï¼
ããã¦ãã®åé¡ã¯è¨èã®éããå°çãã§ãããè²ã ãªè¾ããããã¾ãããã詳細ã«ã¤ãã¦ã¯ Google ã®åºãã¦ããã©ã¤ãã©ãªç®¡çã«é¢ãããã¹ããã©ã¯ãã£ã¹ã§ããªãã®éã触ãã¦ããã®ã§æ¯éèªãã§ã¿ã¦ãã ããã
Dependency Hell ã«ã¤ãã¦ç解ããããã«ãä¸ã¤ä¾ãåºãã¾ãã
ä¾ãã°ãããã¯ã㧠OAuth( HogeOAuth
) ã®ã©ã¤ãã©ãªã使ããã¨ã«ãªã£ãã¨ãã¾ãããã
ã¨ãªãã°ã¾ã㯠ãããã§ã¹ããã¡ã¤ã«ï¼java ã® pom.xml ã¨ã npm ã® package.json ã¨ãã§ãï¼ã«ä¾åã追å ãã¾ãããã
ï¼ä»¥ä¸ã¯ä¾åæ§ããªã¼ã¨æã£ã¦ãã ããï¼
HogeOAuth v1
ãããããã§ããã¸ã§ã¯ãã«HogeOAuthã追å ããã¾ããã ã¨æãã¾ããããããã¿ã¦ã¿ãã¨ãä¾åæ§ã¯ä»¥ä¸ã®ããã«ãªã£ã¦ãã¾ãã â
HogeOAuth v1 -- HogeHttpClient v2 |-- ... |-- ...
ã©ããã HogeOAuth v1
ã§ã¯ã HogeHttpClient v2
ãªããã¤ãå
é¨ã§ä½¿ã£ã¦ããããã§ãã
ãã£ã¨ãããã«æ©è½è¿½å ãå¿
è¦ã§ãä»åº¦ã¯ FooConnecter
ãªããã¤ãå
¥ããå¿
è¦ãåºã¦ãã¾ãããå
¥ãã¡ããã¾ãããã
HogeOAuth v1 -- HogeHttpClient v1 |-- ... |-- ... FooConnector v1 -- HogeHttpClient v1 |-- ... |-- ...
ããã FooConnector v1
ãå
¥ãã¾ããã
ããã FooConnector
ãã©ããã HogeHttpClient
ã使ã£ã¦ããããã§ãã
ã¨æãã¾ãããä½ãå¤ã§ãã ãªããå
ã»ã©ã¾ã§ v2
ã ã£ãã¯ãã® HogeHttpClient
ã®ãã¼ã¸ã§ã³ã v2
ãã v1
ã«ãªã£ã¦ãã¾ãã
ããã¯è¦ªã¨ãªã£ã¦ããã©ã¤ãã©ãª FooConnector
ãããããã§ã¹ããã¡ã¤ã«å
ã§
æ示çã«ãHogeHttpClient ã® v1ãã¼ã¸ã§ã³ã使ããã¨ï¼ãã¨æå®ãã¦ããããã§ãã
ä¸æ¹ãHogeOAuth㯠v1 - v2
ã®ã©ããã使ããã¨ã¨æå®ãã¦ããããã
両è
ãæãããããããã±ã¼ã¸ç®¡çãã¼ã«ãè¦åã«æ²¿ã£ã¦ãå
é¨ã©ã¤ãã©ãªã®ãã¼ã¸ã§ã³ãæãããã¨ãããã¨ãè¡ã£ãããã§ãã
ãã®è¾ºãã¯ï¼åã¯å²ã¨ç´ 人ãªã®ã§è©³ãããªãã§ããï¼ãåè¨èªã»åããã±ã¼ã¸ç®¡çãã¼ã«ãè¨å®æ¹æ³ã«ãã£ã¦ ãç¡çããä¸ã«æãããã¨ãã§ãããããã§ãï¼ãããã¡ããã³ã³ãã¤ã«ã§è½ã¡ãã¨ãä¾å¤çºçãããã¨ãèµ·ããå¯è½æ§ãããã¾ãï¼ã
ããã¦ããã§ãããã Dependabot ã®è©±ã«å ¥ã£ã¦ããããã§ãã
仮㫠Dependabot ããã HogeOAuth
ã«èå¼±æ§ããã£ãããä¸ãã¦ããï¼ãã¨è¨ã£ã¦ããã
ã HogeOAuth
ã®ãã¼ã¸ã§ã³ã v1 -> v2 ãã¨ãªã£ãæã以ä¸ã®ããã«ãªã£ããã©ããã¾ããããï¼
HogeOAuth v1 㯠HogeHttpClient v1 - v2 ãæ±ãã¦ãã HogeOAuth v2 㯠HogeHttpClient v3 ãæ±ãã¦ããï¼ä»åã¢ãããã¼ãããã ver) FooConnector v1㯠HogeHttpClient v1 - v2 ãæ±ãã¦ãã
ãã®å ´åãçæ¹ã®ã©ã¤ãã©ãªã¯ã両æ¹ã§ä½¿ã£ã¦ããã©ã¤ãã©ãªãã¼ã¸ã§ã³ãå¼ã£å¼µãåããããªç¶æ³ã«é¥ãã¾ãã
HogeOAuth v2 ã«ããããã«ãå
é¨ä¾åãã¦ãã HogeHttpClient ã®ãã¼ã¸ã§ã³ãä¸å´ã§
ï¼ FooConnector
ã«ãã£ã¦ï¼æç¸ããã¦ãããããããããã«ãä¸ãããããï¼è¨å®ã«ãã£ã¦ã¯ï¼ã³ã³ãã¤ã«ãéããªããªã£ã¦ãã¾ãã¾ãã
ããã Dependency Hellã§ãã
ãããªã£ã¦ããã¨ã¢ãããã¼ãã¯ã¨ã¦ã大å¤ã§ãã ã©ã®ããã«å¯¾å¿ããã°ãããã§ããããï¼
ï¼å ã«è¨ã£ã¦ããã¾ããæé«ã«ç°¡åã§ããæãã®æ¹æ³ã¯ãªãã§ãã詳ããã¯åé ã«è²¼ã£ã Googleã®ã©ã¤ãã©ãªç®¡çãã¹ããã©ã¯ãã£ã¹ èªãã§ãã ããï¼
ããã§åé¡ã¯ä»¥ä¸ã¨ãªãã°ããã®ã§ãããããã«å¤§ããªçå¼¾ï¼ã§ãããDependabot ã解決ãçã£ã¦ããããªåé¡ï¼ãããã¾ãã
ããã¯ä»¥ä¸ã®ãããªã±ã¼ã¹ã®åé¡ã§ã
ãå
é¨ã®ä¾åã©ã¤ãã©ãª ( HogeHttpClient v1 - v2
)ã«èå¼±æ§ããã£ãå ´åã ã©ã対å¿ããã°ããã§ãããï¼
ââ
ä»®ã«è¦ªã©ã¤ãã©ãªã§ãã HogeOAuth
ããææ°çã§ãã£ã¦ãä¾åã©ã¤ãã©ãª HogeHttpClient v2
ã使ãç¶ããã¨è¨ã£ãå ´åã
ã©ããã£ã¦ãï¼å
ã®ã©ã¤ãã©ãªã«PullReqãéããªãããªãã¨ï¼èå¼±æ§ã¯æ²»ãã¾ããã
ããã¯å°ãæã¦ã¾ããã»ã»ã»ã ãããªãã¨ç´ãæ¹æ³ã¯èªåãã¡ã§è¦ªå ã®ã©ã¤ãã©ãªã®ãã¼ã¸ã§ã³ã¢ãã PullReq ãéãããããããªãã§ãããã
ã¢ãããã¼ãã®å¤æããã³ããªã³ã°
ããã¾ã§ã©ããããããªããããªåé¡ãæ°å¤ãããã¾ããã ããã¦æ®å¿µãªãããããã®åé¡ã解決ããããã£ã¡ãç°¡åã§ãéã®å¼¾ä¸¸ã§ãã¿ããªãããã¼ã«ãªãæ段ãã¨ããã®ã¯ï¼åã®ç¥ãéãï¼åå¨ãã¾ããã
ãããªã£ãå ´åã«åãã対å¿ã¯éããããã¾ãã
ä¾ãã°æ ¹æ¬è§£æ±ºã§åé¡ã®ã©ã¤ãã©ãªã®ææ°çã使ãããã«ãæ¬ä½ã«PullReqãéãã¨ãã å¥ã®ã©ã¤ãã©ãªã使ãããã«ããã¨ãã ã¢ãããã¼ãããªãçç±ãæ¢ãã¨ãã§ãã
ãããã»ãã¥ãªãã£ã®ãªã¹ã¯ãããããã®ãã¼ã¸ã§ã³ã¢ããã§ããã°ãå¥ã®æ¹æ³ãããããããã¾ããã
ä¾ãã° ãæåãµãã¼ããããï¼ã ãå¥ã®ã©ã¤ãã©ãªã使ãããã«ãããã ãèå¼±æ§ã¯ãã¡ã«ã¯å½±é¿ããªãï¼ã¨ããå¤æãããã ãç¬èªã®ããããä½ããã ãWAFã§ãªã¹ã¯è»½æ¸ã ã ã»ã»ã»
ã©ã¤ãã©ãªç®¡çã«ã¯ãã®ãããªå°çãç©ã¿éãªããéçºè ã®ç²¾ç¥ãã©ãã©ã追ãè©°ãã¦ãã¾ãã
Dependabot ã解決ããåé¡
ããã¦ãããã話ãæ¬é¡ã«æ¥ã¾ãã
ããã Dependabot ã£ã¦ä½ãçµå±è§£æ±ºãã¦ãããã®ãï¼ ã¨ãã話ã§ãããããã¯å ã»ã©æ¸ãããã®åé¡ã§ãã
ä»®ã«è¦ªã©ã¤ãã©ãªã§ãã `HogeOAuth` ããææ°çã§ãã£ã¦ãä¾åã©ã¤ãã©ãª `HogeHttpClient v2` ã使ãç¶ããã¨è¨ã£ãå ´åã ã©ããã£ã¦ãï¼å ã®ã©ã¤ãã©ãªã«PullReqãéããªãããªãã¨ï¼èå¼±æ§ã¯æ²»ãã¾ããã
ãããããã§ãããã®åé¡ã Dependabot ã¯è§£æ±ºãããã¨ç®è«ãã§ããããã«è¦ãã¾ãã é ã追ã£ã¦ã¿ã¦ããã¾ãããã
ã¾ããæåã«ãæããã¢ãããã¼ããè¾ãåé¡ã§ãããä»®ã«ä»¥ä¸ã®ãããªç°å¢ãæ´ã£ã¦ããå ´åã å²ã¨ã¢ãããã¼ããæ°æ¥½ã«ã§ããã¯ãã§ãã
- ãã£ã¡ããã¹ããããã¦ã
- 使ã£ã¦ããã©ã¤ãã©ãªã¯å¸¸ã«ææ°ã«ãªã£ã¦ããï¼ãããï¼åï¼åã®ã¢ãããã¼ãã¯è»½å¾®ï¼
ãã®ãããªçæ³çãªç°å¢ã¯ä¸è¬çãªãããã¯ãã§ã¯ï¼ããå¤ãã¯ãªãï¼ã¨æãã¾ãã ãã ãOSSã®ãèåãªã©ã¤ãã©ãªã»ãã¬ã¼ã ã¯ã¼ã¯ããªã©ã«ããã¦ã¯ããªãã ããã è¨ã£ã¦ã«ãã¬ãã¸ã 90% ãããã«ãªã£ã¦ãã®ãå¤ãããã¾ãã
ãã㨠Dependabot ãæ¯åææ°ã®PullReqãéã£ã¦ããã¦ããã¹ããCIã§Passãã¦ããã ï¼ã¢ãããã¼ãã®ç²åº¦ãï¼å°ããã®ã§ãã¡ã³ããã¼ã容æã« Mergeãã¿ã³ãã¯ãªãã¯ã§ããã§ãããã
é ããåé¡ã¨ãã¦ãOSSã©ã¤ãã©ãªãªã©ã«ããã¦ã å©ç¨ãã¦ããã©ã¤ãã©ãªã®Verãä¸ããã¿ã¤ãã³ã°ã£ã¦ã©ãããæããããã ã£ãï¼ã¨è¨ã£ãã ã誰ããããã¤ããã®ããã¨è¨ã£ãåé¡ãããã¾ãã
ãããã®åé¡ã Dependabot ããã£ã¦ãããã°è§£æ±ºã§ãã
ããã¨ã©ãã§ãããã
ã»ã¨ãã©ã®ã©ã¤ãã©ãªã常ã«ææ°ã®verãä¿ã¡ã Dependency Hell ã§ãä¾åã©ã¤ãã©ãªã® ver ãä¸ã«å¼ã£å¼µãç¶ãããããªç©ãããªããªãã ãåä¾åã®ã©ã¤ãã©ãªãèå¼±æ§ãæã£ã¦ããã©ãä»ã®ã©ã¤ãã©ãªããã¼ã¸ã§ã³ãåºå®ãã¦ãã¦ï¼å¼ã£å¼µã£ã¦ãã¦ï¼ä¸ããããªããèå¼±æ§ãæã£ãã¾ã¾ã«ãªããã¨è¨ã£ãåé¡ãå°ãã¯è§£æ±ºããã¯ãã§ãã â
æ»æãçããªèå¼±æ§ã¨OSSã©ã¤ãã©ãª
ã¾ããä¸è¨ã® Dependabot ãã©ãã«ããã¦ãããããªã½ãªã¥ã¼ã·ã§ã³ã¨ããã®ã¯ã ãçã«ããªã£ãï¼ããã«è¦ããï¼ã対å¿ã ã¨èªåã¯æã£ã¦ãã¾ãã ãã®çç±ã¨ãã¦ã¯ãç¹ã«å¯¾å¦ãå¿ è¦ãªèå¼±æ§ãã¨ããã®ã¯ãæåãªã©ã¤ãã©ãªã¼ã»ã©çºçãããã¨ããå¾åã«èµ·å ãã¾ãã
å½ããåã§ããå©ç¨ãã¦ãã人å£ã»ã¹ã¿ã¼æ°ãªã©ãå¤ãã»ã©ãæ»æè ãçã£ã¦ãã¾ãã ã¾ããCVEã欲ããã»ãã¥ãªãã£ã¨ã³ã¸ãã¢ããã£ã±ã群ãã£ã¦ãã¦ã ããã£ã¦èå¼±æ§ãæ¢ããCVEãå ±åãããã¨ãã¦ããã¾ããï¼ãããã¨ã§ããï¼
æåã©ã¤ãã©ãªã»ã©èå¼±æ§ã®å ±åæ°ãå¢ãã ãã®ã©ã¤ãã©ãªã使ã£ã¦ããï¼ä»ã®æåãªï¼ã©ã¤ãã©ãªã¯ããããã§ã¹ããã¡ã¤ã«ã§ ãã¼ã¸ã§ã³ã¢ããã®ä½æ¥ãããªããã°ãªããªãã¨ãããã¨ã«ãªãã¾ãã
æ»æè ããããããæåãªã©ã¤ãã©ãªã®èå¼±æ§ãªã®ã§ãåºãããããã¨æãã§ãããã ãããªã£ã¦ããã¨æ¯è¼çã¢ãããã¼ãã®å¯¾å¿ãæ©ãã«ãããªããã°ãªããªããªãã¾ãã ãªãããä»ããã«ã§ãæ»æããããããããªããããã§ãã
ããããOSSã©ã¤ãã©ãªã«ã Dependency Hell ã®åé¡ãã¤ãã¾ã¨ã£ã¦ãã¾ãã ãæåã©ã¤ãã©ãªã使ã£ã¦ããã©ã¤ãã©ãªãã使ã£ã¦ããã©ã¤ãã©ãªãã使ã£ã¦ããã©ã¤ãã©ãªãããã¼ã¸ã§ã³ãå¼ã£å¼µã£ã¦ãããã¨ãã£ãåé¡ãçºçãããã»ã»ã»ã
ãã ãDependabot ãããã°ãããã®ã©ã¤ãã©ãªãä¾åãã¦ããã©ã¤ãã©ãªã®ã¢ãããã¼ãã¨ããã®ã解決ãã¦ããã¯ãã§ãã
ããããæåã©ã¤ãã©ãªã»ã©ãã¹ãããã£ãããã¦ããå¾åã«ããããã容æã«ãã«ãªã¯ãMergeã§ããã§ãããã ããã¯ã¨ã¦ãåããã¨ã§ãã
æ®ã£ã課é¡
ããã¾ã§ã®ãããªåé¡ã解決ãã¦ããã¨ãOSSã®ã©ã¤ãã©ãªç®¡çã»èå¼±æ§ç®¡çã¯ä¸ã¤å ã®ã¹ãããã«ããã¯ãã§ãã
ãã ãã¾ã 以ä¸ã®ãããªèª²é¡ãæ®ã£ã¦ããã¨æã£ã¦ãã¾ãã
- ãããããã¹ãããªããããªï¼å¼±ããããªï¼ã©ã¤ãã©ãªã¯Dependabotã§å®¹æã«ã¢ãããã¼ãã§ããã®ãï¼
- ï¼ä¸è¬çãªãããã¯ãã¯ï¼å±éºãªèå¼±æ§ããã£ãå ´åãã©ã対å¦ããã®ãï¼
- ãããããã®è¾ºãã®è©±ãç解ãã¦ãªãã¨ãDependabot å ¥ãã¦ãããªãã£ãããå®æã«ï¼ãã¹ãããªãã«ã¢ãããã¼ããï¼Mergeã¨ããã¡ãããªãã»ã»ã»ï¼
ãããããããã®åé¡ã¯ãã¾ãéçºè ã«èªèããã¦ããªããããã¾ãã¯åèãããªã®ããããã¾ããã â
ã¾ã¨ã
ã¾ã¨ãã«å ¥ãã¾ãã æ¬è¨äºã§è¨ããããã¨ã¨ãã¦ã¯å¤§ãã以ä¸ã«ãªãã¾ãã
- Dependabot ã¯ãï¼ããã¡ã³ããã³ã¹ãããæ»æã«æãããå¯è½æ§ãç¹ã«é«ãããªï¼ã©ã¤ãã©ãªã«ããã¦ãèå¼±æ§ãç´ãã¦ãããä¸çãä½ã£ã¦ãããï¼ããï¼
- ä¾ç¶ããããã¯ããªã©ã«è¯ãã¦ã¯ã¢ãããã¼ãã®å°çãããããªã¹ã¯ç®¡çã¨ããå¿ è¦ã«ãªã£ãããã
- ããæãã®éã®å¼¾ä¸¸ã¯ãªãã®ã§ãéçºã¯æ³¥æ°´åããããªããï¼ã¾ãã¯ãããªããªãããã« é å¼µã ãããªã)
æå¾ã«ããã®è¨äºã¯å ¨é¨èªåã®æéã§æ¸ããã®ã§ãæå±çµç¹é¢ä¿ããã¾ããï¼ ï¼ä¼ç¤¾ã¨ãã¦åºãå ´åãã¬ãã¥ã¼ããã¨ãé¢åãªã®ã§ä¸å¿å¿µã®ããï¼
ãããã®åé¡ãä¸éä¸è¬ã«ãã£ã¨èªèããããã£ã¨ãã£ã¨è°è«ããããã¨ãç¥ã£ã¦ã¾ãï¼åæã®çµµæåï¼