ãã€ã¯ããµãŒãã¹ã®ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ (CI) ã¯ãã¢ããªã±ãŒã·ã§ã³ã®åã ã®ã³ã³ããŒãã³ããçµ±åã·ã¹ãã ã«ãªã¢ã«ã¿ã€ã ã§çµã¿èŸŒãããšã«éç¹ã眮ãããœãããŠã§ã¢ ãšã³ãžãã¢ãªã³ã°ææ³ã§ãããã®éçºã¢ãããŒãã¯ãçµ±åã®åé¡ãæ©æãã€å¹ççã«æ€åºããŠä¿®æ£ãããœãããŠã§ã¢ã®ä¿¡é Œæ§ãå質ãã·ãŒã ã¬ã¹ãªå°å ¥ã確ä¿ããããšãç®çãšããŠããŸããè¿å¹Žããã€ã¯ããµãŒãã¹ ã¢ãŒããã¯ãã£ã泚ç®ãéããŠãããããè€éãªæ§é ãšç¬ç«ããŠç¶æããããµãŒãã¹ã«å¯Ÿå¿ãã CI ã®å¿ èŠæ§ãããéèŠã«ãªã£ãŠããŠããŸãã
ãã€ã¯ããµãŒãã¹ ã¢ãŒããã¯ãã£ãšã¯ãã¢ããªã·ã㯠ã¢ããªã±ãŒã·ã§ã³ããåãµãŒãã¹ãåäžã®æ©èœãŸãã¯ããžãã¹æ©èœãæ åœããäžé£ã®å°èŠæš¡ãªèªåŸãµãŒãã¹ã«åå²ããææ³ãæããŸãããããã®ãµãŒãã¹ã¯ççµåãããç¬ç«ããŠéçºãå±éãä¿å®ããããããããæè»ã§å¹ççãã€æ©æãªãœãããŠã§ã¢éçºããã»ã¹ãå¯èœã«ãªããŸããåãµãŒãã¹ã API ãä»ããŠéä¿¡ããããŸããŸãªããã°ã©ãã³ã°èšèªãããŒã¿ ã¹ãã¬ãŒãž ãã¯ãããžãå±éç°å¢ãå©çšãããããå ç¢ãª CI ããã»ã¹ã確ç«ããããšãäžå¯æ¬ ã§ãã
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ã¯äžè¬ã«ãã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãŠã®ãœãŒã¹ ã³ãŒãã§æ§æãããå ±æãªããžããªãç¶æããããšã«éç¹ã眮ãããŠããŸããéçºè ã¯ãå°èŠæš¡ã§æ®µéçãªå€æŽãå ããŠãã®ãªããžããªã«é »ç¹ã«è²¢ç®ããŸããåéä¿¡åŸãèªååããããã«ãããã³ãã¹ã ããã»ã¹ã«ãã£ãŠã³ãŒãã®æ£ç¢ºããšåè³ªãæ€èšŒãããŸãã CI ããã»ã¹ãå°å ¥ãããšãçµ±åã®åé¡ã®ãªã¹ã¯ã軜æžãããã³ãŒãã®å質ãåäžããåžå Žæå ¥ãŸã§ã®æéãççž®ãããŸãã
CI for Microservices ã¯ããã®æŠå¿µãæ¡åŒµããŠãè€æ°ã®èªåŸåãµãŒãã¹ã®è€éãã«å¯Ÿå¿ããŸãããã€ã¯ããµãŒãã¹åã CI ã®äž»èŠãªåŽé¢ã¯æ¬¡ã®ãšããã§ãã
- ãœãŒã¹ ã³ãŒã管ç: ããŸããŸãªéçºè ãŸãã¯ããŒã ã«ãã£ãŠéçºããã³ä¿å®ãããåãµãŒãã¹ã®åå¥ãªããžããªå ã®ãœãŒã¹ ã³ãŒãã®å€æŽãå¹ççã«æŽçããã³è¿œè·¡ããŸãã AppMasterno-codeãã©ãããã©ãŒã ã®ãããªãã©ãããã©ãŒã ã¯ãããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ãWeb ã¢ããªã±ãŒã·ã§ã³ãã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ã®ãœãŒã¹ ã³ãŒããèªåçã«çæããã³ãŒãã®ç·šæãšç®¡çã«ããããã¹ã ãã©ã¯ãã£ã¹ãå®è£ ããŸãã
- èªååããããã«ãããã³ãã¹ã ããã»ã¹: JenkinsãTravis CIãCircleCI ãªã©ã® CI ã·ã¹ãã ã¯ãåå¥ã®ãµãŒãã¹ããšã«ãã«ããšãã¹ããå®è¡ããããã«æ§æããå¿ èŠããããŸããããã«ã¯ãã³ãŒãã®ã³ã³ãã€ã«ãšããã±ãŒãžåãåäœãã¹ããšçµ±åãã¹ãã®å®è¡ãããã©ãŒãã³ã¹ãå質ããã®ä»ã®äž»èŠãªææšã«é¢ããã¬ããŒãã®çæãå«ãŸããŸãã AppMasterãã©ãããã©ãŒã ã䜿çšãããšãã³ãŒãã®çæãšã³ã³ãã€ã«ãæé©ã«å®è¡ãããé¢ä¿è ã®èŠä»¶ãæºããé«å質ã®ã¢ããªã±ãŒã·ã§ã³ãä¿èšŒãããŸãã
- ãããã€ã¡ã³ããšæ§æã®ç®¡ç: ãã€ã¯ããµãŒãã¹ã®ãããã€ã¡ã³ãã¯èªååãããéçºããã¹ããŒãžã³ã°ãå®çšŒåã«è³ããŸã§ãããŸããŸãªç°å¢éã§äžè²«æ§ãç¶æã§ããããã«èª¿æŽããå¿ èŠããããŸãã Docker ã³ã³ãããŒãŸã㯠Kubernetes ã¯ã©ã¹ã¿ãŒãå©çšããŠãããŸããŸãªãã©ãããã©ãŒã ã«ãããåäžãªãããã€ã¡ã³ããåçåã§ããŸãã AppMaster Docker åãããããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ããµããŒãããŠããããã顧客ã¯ãã€ã¯ããµãŒãã¹ãããããç°å¢ã«ç°¡åã«ãããã€ã§ããŸãã
- ã¢ãã¿ãªã³ã°ãšãã£ãŒãããã¯: é«å質ã§å¹ççãªãã€ã¯ããµãŒãã¹ CI ãç¶æããã«ã¯ãç¶ç¶çãªã¢ãã¿ãªã³ã°ãšãã£ãŒããã㯠ã«ãŒããäžå¯æ¬ ã§ããéçºããŒã ããªã¢ã«ã¿ã€ã ã§åé¡ãç¹å®ããŠä¿®æ£ããã«ã¯ã宿çãªã³ãŒã ã¬ãã¥ãŒããã¹ã ã«ãã¬ããžã®ç£èŠããã«ãã®å¥å šæ§ã®è©äŸ¡ãããã©ãŒãã³ã¹ ã¡ããªã¯ã¹ã®é©çšãäžå¯æ¬ ã§ãã
- ã¹ã±ãŒãªã³ã°ãšè² è·åæ£: ãã€ã¯ããµãŒãã¹ CI ãã€ãã©ã€ã³ã§ã¯ãåãµãŒãã¹ãæ°Žå¹³æ¹åã«æ¡åŒµãããè² è·åæ£ãããŠã倧éã®åæãªã¯ãšã¹ããåŠçã§ããããã«ããããšãéèŠã§ãã AppMasterãã©ãããã©ãŒã 㯠Go ããã°ã©ãã³ã°èšèªã掻çšããŠã¹ããŒãã¬ã¹ ããã¯ãšã³ããçæããæãèŠæ±ã®å³ãããšã³ã¿ãŒãã©ã€ãºãé«è² è·ã®ãŠãŒã¹ã±ãŒã¹ã§ãåªããã¹ã±ãŒã©ããªãã£ãå®çŸããŸãã
çµè«ãšããŠããã€ã¯ããµãŒãã¹åãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ã¯ããã€ã¯ããµãŒãã¹ ã¢ãŒããã¯ãã£ã«åºã¥ããŠæ§ç¯ãããã¢ããªã±ãŒã·ã§ã³ã®éçºããã¹ãããããã€ã«ç¹æã®èª²é¡ã«å¯ŸåŠããŸããå¹ççãªãœãŒã¹ ã³ãŒã管çãèªååããããã«ãããã³ãã¹ã ããã»ã¹ãå±éããã³æ§æç®¡çãç¶ç¶çãªç£èŠãããã³ã¹ã±ãŒãªã³ã°ãå«ãå ç¢ãª CI ãã€ãã©ã€ã³ãæ¡çšããããšã§ããœãããŠã§ã¢éçºããŒã ã¯çç£æ§ã®åäžãåžå Žæå ¥ãŸã§ã®æéã®ççž®ãããã³ãœãããŠã§ã¢å質ã®åäžãå®çŸã§ããŸãããããã®ãã¹ã ãã©ã¯ãã£ã¹ãšAppMasterno-codeãã©ãããã©ãŒã ã®ãããªãã©ãããã©ãŒã ãçµã¿åãããããšã§ãããŒã ã¯çŸä»£ã®ãœãããŠã§ã¢éçºã®èŠæ±ãæºããé«å質ã®ã¢ããªã±ãŒã·ã§ã³ãäœæããé²åãããããšãã§ããŸãã