CI ããã³ CD ã§ DevOps ãã£ãŒããã㯠ã«ãŒããæé©åããæ¹æ³
DevOps ããã»ã¹ã§ãã£ãŒããã㯠ã«ãŒããæé©åããæ¹æ³ãç¥ãããã§ãã?ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãšç¶ç¶çããªããªãŒãæå€§éã«æŽ»çšããæ¹æ³ã«ã€ããŠã¯ãã¬ã€ããã芧ãã ããã

仿¥ã®ããžãã¹ã¯ããããŸã§ä»¥äžã«è¿ éã«æ°æ©èœãã¢ããããŒãããªãªãŒã¹ãããšãããã¬ãã·ã£ãŒã«åžžã«ãããããŠããŸãããããã®èŠæ±ãæºããããã«ãå€ãã®çµç¹ã DevOps ãã©ã¯ãã£ã¹ã«ç®ãåããŠããŸããããšãã°ãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ (CI) ãšç¶ç¶çããªããªãŒ (CD) ã§ãã
CI/CD ãã€ãã©ã€ã³ã¯ãéçºãšéçšã®éã®ãã£ãŒããã㯠ã«ãŒããççž®ããã³æé©åããããã«èšèšãããŠããŸããããã«ãããäŒæ¥ã¯æ°ããæ©èœãè¿ éã«å埩ããã§ããã ãæ©ããŠãŒã¶ãŒã®æã«å±ããããšãã§ããŸãããã ãããããã®ãã€ãã©ã€ã³ã¯ããã£ãŒãããã¯ãåŸ ã€æéãé·ããåé¡ã远跡ããã®ãé£ãããªã©ãç¬èªã®èª²é¡ãããããããšããããããŸãã
ãããã£ãŠãã¡ã€ã³ã®ã¯ãšãªã«ç§»ãåã«ãçè§£ãæ·±ããããã«ãããã®çšèªã«ã€ããŠèª¬æããŸãããã
DevOps ãã£ãŒããã㯠ã«ãŒããšã¯äœã§ãã?
ååã瀺ãããã«ãDevOps ãã£ãŒããã㯠ã«ãŒãã¯ããœãããŠã§ã¢ ã¢ããªã±ãŒã·ã§ã³ã®éçºãšéçšã«é¢äžããããŸããŸãªããŒã éã®ãã£ãŒããã㯠ãµã€ã¯ã«ã§ãããããã®ãã£ãŒããã㯠ã«ãŒãã¯ãå šå¡ãåãèªèãæã€ããã«ããããšãç®çãšããŠããŸããããã«ãéçºããã»ã¹ã«ããã«ããã¯ã¯ãããŸããã
DevOps ã¯ãéçº (Dev) ãš IT éçš (Ops) ã®ç瞮圢ã§ãããšããããã§ããœãããŠã§ã¢éçºã«ãããéçºãšéçšã®äž¡æ¹ãçµã¿åãããææ³ã§ãããã®çŸä»£çãªã¢ãããŒãã¯ãã¹ããŒããå質ãã³ã©ãã¬ãŒã·ã§ã³ã«éç¹ã眮ããŠããŸããåŸæ¥ã®ã¢ãã«ã§ã¯ãéçºãšéçšã¯ç°ãªãç®æšãæã€ 2 ã€ã®ç°ãªããšã³ãã£ãã£ã§ããã圌ãã¯å¥ã ã®ãµã€ãã§åããŠããŸããããã ããDevOps ã¢ãã«ã¯ããœãããŠã§ã¢éçºã©ã€ã ãµã€ã¯ã« (SDLC) ãéããŠéçšããŒã ãšéçºãçµ±åããããšã«éç¹ã眮ããŠããŸãã
ããšãã°ãéçºè ãã³ãŒããæžãããããäžå€®ãªããžããªã«ã³ãããããŸãããã®åŸãéçšããŒã ã¯ãã®ã³ãŒããåãåããéçšãµãŒããŒã«ãããã€ããŸããããã 2 ã€ã®ããŒã ã®éã«ã¯ãäžå®ã®ãã£ãŒããã㯠ã«ãŒãããããŸãããã®ãããã³ãŒãã«åé¡ãããå ŽåãéçšããŒã ã¯ãã®ãã£ãŒãããã¯ãéçºããŒã ã«ãã°ããéä¿¡ã§ããŸãããããŠãéçºè ã¯ã³ãŒããä¿®æ£ããŠå床ã³ãããã§ããŸãããã®ããã«ããã£ãŒããã㯠ã«ãŒã㯠DevOps ãã£ãŒããã㯠ã«ãŒããççž®ããããšã§ããã»ã¹ãæé©åããŸããã
ãã ããDevOps ãã£ãŒããã㯠ã«ãŒãã¯ããœãããŠã§ã¢éçºã®å質åäžã«åœ¹ç«ã€ãããéåžžã«éèŠã§ãããŸããæ©èœãäºå®ã©ããã«æäŸãããããã«ããŸãããããŠãã客æ§ã®æåŸ éããããã«ãé·ããã£ãŒããã㯠ã«ãŒããŸãã¯ãã£ãŒããã㯠ã«ãŒãããªãå Žåãããã€ãã®åé¡ãçºçããå¯èœæ§ããããŸããããã«ããœãããŠã§ã¢ã®éçºããã»ã¹ãšé ä¿¡ãé å»¶ããŸããããã¯ãIT éçšããŒã ãšéçºããŒã ã®éã®é¢ä¿ã«ããã«æªåœ±é¿ãåãŒããŸãã
ãã£ãŒããã㯠ã«ãŒãã«ã¯ã©ã®ãããªãã®ããããŸãã? DevOps çµç¹ã§ã¯ã©ã®ããã«æ©èœããŸãã?
å¢å¹ ãã£ãŒããã㯠ã«ãŒããšãã©ã³ã¹ ãã£ãŒããã㯠ã«ãŒãã® 2 ã€ã®ãã£ãŒããã㯠ã«ãŒãããããŸããå¢å¹ ãã£ãŒãããã¯ã«ãŒãã¯ã匷åãŸãã¯å éã«ãŒããšããŠãç¥ãããŠããŸãããããæ£ã®ãã£ãŒãããã¯ã«ãŒãã§ãã
ãã©ã³ã¹ ãã£ãŒããã㯠ã«ãŒãã¯ãè² ã®ãã£ãŒããã㯠ã«ãŒãã§ãããããå¢å¹ ãã£ãŒããã㯠ã«ãŒããšã¯éã§ãããããã®ãã£ãŒããã㯠ã«ãŒããšããããã DevOps ã§ã©ã®ããã«æ©èœãããã詳ããèŠãŠã¿ãŸãããã
ãã£ãŒããã㯠ã«ãŒãã®å¢å¹
å¢å¹ ãã£ãŒããã㯠ã«ãŒãã¯ãã·ã¹ãã ã®åºåãå ¥åãå¢å¹ ããæ£ã®ãã£ãŒããã㯠ã«ãŒãã§ããèšãæããã°ãã·ã¹ãã ã¯ãã§ã«ååŸããŠãããã®ãããã«ååŸããŸããããšãã°ãéçºè ãã³ãããããã³ãŒãã¯åªããŠããŸãããããã£ãŠãã³ãŒãã¯åé¡ãªãæ¬çªç°å¢ã«ãããã€ãããŸããããã«ãããæ°æ©èœãæ°ã«å ¥ã£ãŠåäººå šå¡ã«çŽ æŽãããæ°è£œåã«ã€ããŠè©±ã幞ããªé¡§å®¢ãçãŸããŸãããã®çµæãäŒç€Ÿã¯ããå€ãã®é¡§å®¢ãšããå€ãã®ããžãã¹ãç²åŸããŸãã
ãã£ãŒãããã¯ã«ãŒããå¢å¹ ãããšãå€åã¯äžæ¹åã«é²ã¿ããã倧ããªå€åã«ã€ãªãããŸãããã®ãã£ãŒããã㯠ã«ãŒãã®ç®ç㯠ãããã»ã¹ãé«éåããããš ã§ããåæã«ããã©ã³ã¹ ãã£ãŒããã㯠ã«ãŒããããã»ã¹ãæžéãŸãã¯åæ¢ãããŸãã DevOps çµç¹ã§ã¯ãéçºããŒã ãšéçšããŒã ã®éã«å¢å¹ ãã£ãŒããã㯠ã«ãŒããäœæã§ããŸããåã®äŸãç¶ããããã«ãéçºè ã«ãã£ãŠã³ããããããã³ãŒããé«å質ã§ãããšä»®å®ããŸãããããã®ãããéçšããŒã ã¯éçºããŒã ã«ãã°ãããã£ãŒãããã¯ãæäŸã§ããŸãããã®çµæãéçºè ã¯ã³ãŒããä¿®æ£ããŠå床ã³ãããã§ããŸãã
ãã£ãŒããã㯠ã«ãŒãã®ãã©ã³ã¹èª¿æŽ
å¯Ÿç §çã«ããã©ã³ã¹ ãã£ãŒããã㯠ã«ãŒãã¯è² ã®ãã£ãŒããã㯠ã«ãŒãã§ããããã¯ãã·ã¹ãã ã®ã¢ãŠãããããã€ã³ããããæžããããã§ããèšãæããã°ãã·ã¹ãã ã¯ãã§ã«ååŸããŠãããã®ãããå°ãªããã®ãååŸããŸããããšãã°ãéçºè ãã³ãããããã³ãŒãã«ãšã©ãŒããããŸãããããã£ãŠãã³ãŒãã¯æ¬çªç°å¢ã«ãããã€ãããŸããããã®çµæãæåŸ ããæ°æ©èœãåŸãããªãããã顧客ã¯äžæºãæ±ããŠããŸãããã®ãã£ãŒããã㯠ã«ãŒãã¯ãããã»ã¹ã劚ãããé ãããããããããè² ã®ãã£ãŒããã㯠ã«ãŒããšãåŒã°ããŸãããã®ãã£ãŒããã㯠ã«ãŒãã¯ãã·ã¹ãã ãå¹³è¡¡ç¶æ ã«æ»ãããšãç®çãšããŠããŸãã
DevOps çµç¹ã®éçºããŒã ãšéçšããŒã ã®éã§ã¯ããã©ã³ã¹ ãã£ãŒããã㯠ã«ãŒããæ©èœããŸããããšãã°ãéçºè ãã³ãããããã³ãŒããéçšããŒã ã«é ä¿¡ããããšãã«ããã®ã³ãŒãã«ãšã©ãŒããããšããŸãããšã©ãŒãåé¡ã匷調衚瀺ããããšã§ãéçºããŒã ã«ãã°ãããã£ãŒãããã¯ãæäŸããŸãã圌ãã¯ã³ãŒããéçºè ã«éãè¿ããŸãããã®çµæãéçºè ã¯ã³ãŒããä¿®æ£ããŠå床ã³ãããã§ããŸãããã®ããã«ããŠããã£ãŒããã㯠ã«ãŒãã¯ãDevOps ãã£ãŒããã㯠ã«ãŒããæé©åããªãããé«å質ã®ã³ãŒãã確ä¿ããããšããŸãã
ãããã®ãã£ãŒããã㯠ã«ãŒãã¯äž¡æ¹ãšããDevOps çµç¹ã§ã¯äžå¯æ¬ ã§ãããããã¯ããœãããŠã§ã¢éçºããã»ã¹ãšé ä¿¡ã®ã¹ããŒãã¢ããã«åœ¹ç«ã¡ãŸãã IT éçšããŒã ãšéçºããŒã ã®éã®é¢ä¿ãä¿é²ããã ãã§ãªãã DevOps ãã£ãŒããã㯠ã«ãŒããæé©åããã«ã¯ããããã®ãã£ãŒããã㯠ã«ãŒãã®äž¡æ¹ã䜿çšããããšãéèŠã§ããããããäžç·ã«äœ¿çšããŠããã£ãŒããã㯠ã«ãŒããççž®ããã³ãŒãã®å質ãåäžãããå¿ èŠããããŸãã

éç¥ã·ã¹ãã ãšãã£ãŒããã㯠ã«ãŒãã®éã
DevOps ãåããŠäœ¿çšãã人ã ã®éã§ãããã誀解ã¯ãéç¥ã·ã¹ãã ãšãã£ãŒããã㯠ã«ãŒããåºå¥ã§ããªãããšã§ãã圌ãã¯ãéç¥ã·ã¹ãã ãšãã£ãŒããã㯠ã«ãŒãããŸã£ããåãã§ãããšèããŠããŸãããã ããã©ã¡ããéèŠã§ãããDevOps ã§ã¯ç°ãªãç®çãæãããŸãããããã£ãŠãéç¥ã·ã¹ãã ã¯ãçºçããã€ãã³ãã«é¢ããæ å ±ãååŸããæ¹æ³ã§ããããšãã°ããã«ãã倱æãããšãããã¹ããå®è¡ããããšãã«éç¥ãåãåãããšããããŸããäžè¬çãªã¿ã€ãã®éç¥ã·ã¹ãã ã«ã¯ãé»åã¡ãŒã«ãSlackãããã³ HipChat ããããŸãã
å¯Ÿç §çã«ããã£ãŒããã㯠ã«ãŒãã¯ãã€ãã³ãã«é¢ãããã£ãŒãããã¯ãåŸãããšããã¹ãŠã§ããããšãã°ããã¹ãçµæããã«ã ã¹ããŒã¿ã¹ã«é¢ãããã£ãŒãããã¯ãåãåãå ŽåããããŸãããã£ãŒããã㯠ã«ãŒãã¯ãã·ã¹ãã ã§äœãèµ·ãã£ãŠããããçè§£ããã®ã«åœ¹ç«ã€ãããéèŠã§ãããŸããåé¡ãæ©æã«ç¹å®ããã®ã«ã圹ç«ã¡ãŸãã DevOps ã§ã®äžè¬çãªãã£ãŒããã㯠ã«ãŒãã®çš®é¡ã¯ããã°èšé²ãç£èŠãã¢ã©ãŒãã§ãããã®ãããéç¥ã·ã¹ãã ãšãã£ãŒããã㯠ã«ãŒãã®äž¡æ¹ãçšæããããšãäžå¯æ¬ ã§ããããããäž¡è ã®éãã誀解ããªãã§ãã ããã
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ (CI) ããã³ç¶ç¶çããªããªãŒ (CD) ãšã¯
å€ãã®å ŽåãCI ãš CD ãšããçšèªã¯åãæå³ã§äœ¿çšãããŸãããã ããããã㯠2 ã€ã®ç°ãªãæŠå¿µã§ãã CI ãš CD ã¯ã©ã¡ãã DevOps ã§éèŠãªåœ¹å²ãæãããŸãããç®çã¯ç°ãªããŸãã
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ (CI)
ãã®ãœãããŠã§ã¢é ä¿¡æ¹æ³ã§ã¯ãéçºè ã®äœæ¥ã³ããŒãå ±æã¡ã€ã³ã©ã€ã³ã«ããŒãžãããŸãã CI ã®ç®çã¯ãçµ±åå°çãåé¿ããããšã§ããããã¯ãè€æ°ã®éçºè ãåãã³ãŒãããŒã¹ã§äœæ¥ããŠããå Žåã«çºçããå¯èœæ§ããããŸããããã«ããšã©ãŒãæ©æã«çºèŠããæ°ããæ©èœã補åããªãªãŒã¹ããéã®åå£å Žã§ã®ãµãã©ã€ãºãåé¿ããã®ã«ã圹ç«ã¡ãŸãã宿çã«çµ±åããããšã§ããšã©ãŒããã°ããæ€åºããããç°¡åã«èŠã€ããããšãã§ããŸããèªååãããåäœãã¹ããšãã«ãã«çµã¿èŸŒãå¿ èŠããããŸããã³ãŒããã¡ã€ã³ã©ã€ã³ã«ã³ãããããããã³ã«ãèªåçã«ãã«ããããªã¬ãŒãããããã«ããŸãããããŠäžé£ã®ãã¹ããå®è¡ããŠãã³ãŒãã®æ£ç¢ºæ§ãæ€èšŒããŸãã
ç¶ç¶çããªããªãŒ (CD)
CD ã¯ããœãããŠã§ã¢é ä¿¡ã®ããã»ã¹ãèªååããã³ç£èŠããããã®ã¢ãããŒãã§ãããŠãŒã¶ãŒ/顧客ã«ãœãããŠã§ã¢ãã§ããã ãè¿ éãã€ç¢ºå®ã«ãªãªãŒã¹ãããããããŒãžã§ã³ç®¡çã·ã¹ãã ã§ã®ã³ãããããå§ãŸãç¶ç¶çãªæé ã§ãããããŠããœãããŠã§ã¢ãæ¬çªç°å¢ã«ãããã€ãããŠçµäºããŸãã CD ã®äž»ãªç®çã¯ããœãããŠã§ã¢ãåžžã«å±éå¯èœãªç¶æ ã§ããããšãä¿èšŒããããšã§ãããã®ããããã€ã§ãæ¬çªç°å¢ã«ãªãªãŒã¹ã§ããŸãã
ãã ããCD ã§ã¯ããœãããŠã§ã¢ãé »ç¹ãã€ç¢ºå®ã«å±éããããã«é«åºŠãªèªååãå¿ èŠã§ãããããã£ãŠããœãããŠã§ã¢é ä¿¡ããã»ã¹ã«ã¯ãã³ãŒãã®ãã«ãããã¹ããããã³å±éã®èªååãå«ãŸããŸããããã«ãCD ãã€ãã©ã€ã³ã¯ CI ãšçµã¿åãããŠäœ¿çšãããããšããããããŸãããããã£ãŠãã³ãŒããã³ãããããããã³ã«ãã³ãŒãã¯èªåçã«ãã€ãã©ã€ã³ãééãããã¹ãŠã®ãã¹ãã«åæ Œãããšæ¬çªç°å¢ã«ãããã€ãããŸãã

DevOps ãã£ãŒããã㯠ã«ãŒããæé©åããæ¹æ³ã¯?
DevOps ãã£ãŒããã㯠ã«ãŒããæé©åããããšã¯ãããŸããŸãªçç±ããéèŠã§ããåè¿°ã®ãšããããœãããŠã§ã¢éçºãšé ä¿¡å質ã®åäžã«åœ¹ç«ã¡ãŸãããŸããæ©èœãæéã©ããã«é¡§å®¢ã®æåŸ ã©ããã«æäŸãããããã«ããŸãã DevOps ã§ãã£ãŒããã㯠ã«ãŒããæé©åããæ¹æ³ã¯å€æ°ãããŸãããããã®ããã€ãã以äžã«ç€ºããŸãã
é¢é£ããã¿ã€ãã®ãã£ãŒããã㯠ã«ãŒããéžæããŸã
æåã®ã¹ãããã¯ãé¢é£ããã¿ã€ãã®ãã£ãŒããã㯠ã«ãŒããéžæããããšã§ãã DevOps ã® 2 ã€ã®ãã£ãŒããã㯠ã«ãŒã (å¢å¹ ãšãã©ã³ã¹) ããéžæã§ããŸããå¢å¹ ãããã£ãŒããã㯠ã«ãŒãã¯ãçŸåšã®ç¶æ ã匷åãããã®ã§ããäžæ¹ããã©ã³ã¹ ã«ãŒãã¯ã平衡ãç¶æããã®ã«åœ¹ç«ã€ã«ãŒãã§ããããŒã ã«ãšã£ãŠæã广çãªãã£ãŒããã㯠ã«ãŒãã®ã¿ã€ããçè§£ããå¿ èŠããããŸãããããŠãããã«å¿ããŠå®è£ ããŸãã
æ¢åã®ãã£ãŒããã㯠ã«ãŒããæããã«ãã
次ã®ã¹ãããã¯ãçµç¹å ã®æ¢åã®ãã£ãŒããã㯠ã«ãŒããæããã«ããããšã§ãããã§ã«ååšããŠãããã®ã®ãå®éã«ã¯äœ¿çšãããŠããªããã£ãŒããã㯠ã«ãŒããååšããå ŽåããããŸãããããã®ãã£ãŒããã㯠ã«ãŒããç¹å®ããããããããå¹ççã«äœ¿çšããæ¹æ³ã決å®ããããšãéèŠã§ãã
æè¡çè² åµã®åé¿
ãã£ãŒããã㯠ã«ãŒãã®æé©åã匷åããã«ã¯ãæè¡çè² åµãåé¿ããå¿ èŠããããŸããæè¡çè² åµã¯ãã³ãŒããæé©åãã代ããã«ãããŒã ãè¿ éãªçŽåã®ããã«è¡ã決å®ã§ãããããåé¿ããã«ã¯ãé¢é£ãããã¬ãŒããªããæç¢ºã«çè§£ããããšãéèŠã§ããçºçããå¯èœæ§ã®ããåé¡ãããã¯ãã°ãä¿®æ£ããããã«ãéç¥ãšã¢ã©ãŒãã«ããã«å¯Ÿå¿ããŸããæ¬¡ã«ãããã»ã¹ãèªååããŠãããéèŠãªã¿ã¹ã¯ã«éäžã§ããããã«ããŸãã
人éã®æ å ±æºãããã£ãŒãããã¯ãåŸã
èªååããããœãŒã¹ãããã£ãŒãããã¯ãåéããããšã«å ããŠã人éã®ãœãŒã¹ãããã£ãŒãããã¯ãååŸããããšãéèŠã§ããããã¯ã ãŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ ã«ã€ããŠçè§£ããã®ã«åœ¹ç«ã¡ãŸãããããŠããœãããŠã§ã¢ãçŸå®ã®äžçã§ã©ã®ããã«äœ¿çšãããŠãããã DevOps ããŒã ãšèªåèªèº«ã«ãã£ãŒãããã¯ãæ±ããŠãã ããããŸãã顧客ããã®ä»ã®å©å®³é¢ä¿è ãããã£ãŒãããã¯ãåãåããŸããããã¯ããœãããŠã§ã¢éçºããã»ã¹ã®ããŸããŸãªåŽé¢ãçè§£ããã®ã«åœ¹ç«ã¡ãŸãã
ç¹å®ã®åé¡ãå®çŸ©ãã
ãã£ãŒããã㯠ã«ãŒããæé©åããã«ã¯ãç¹å®ã®åé¡ãå®çŸ©ããããšãéèŠã§ãããŸãã解決ããããšããŠããåé¡ãæç¢ºã«ããããšã§ããæ¬¡ã«ã仿¥ã®åé¡ãå®çŸ©ããããå°æ¥ã®åé¡ãã身ãå®ãããã«ãæéããããŠè¿œè·¡ããå¿ èŠããããŸãã
ãã£ãŒããã㯠ã«ãŒããèªååãã
ãã£ãŒããã㯠ã«ãŒãã® èªåå ã¯ãããŸããŸãªçç±ã§éèŠã§ãããŸããããã»ã¹ã®å¹çãæ¹åããã®ã«åœ¹ç«ã¡ãŸããããã«ãåãåããã£ãŒãããã¯ã®è³ªãåäžããŸããããŸããŸãªããŒã«ã䜿çšããŠããã£ãŒããã㯠ã«ãŒããèªååã§ããŸããäžè¬çãªããŒã«ã«ã¯ãJenkinsãTravis CIãCircleCI ãªã©ããããŸãããããã® ããŒã« ã¯ããœãããŠã§ã¢éçºã®ããã»ã¹ãèªååããã®ã«åœ¹ç«ã¡ãŸãã
ããŒã ã®ãã¬ãŒãã³ã°
ãã£ãŒããã㯠ã«ãŒãã广çã«äœ¿çšã§ããããã«ããŒã ããã¬ãŒãã³ã°ããããšãéèŠã§ããããŒã ã¯ãããã»ã¹ã«å«ãŸããããŸããŸãªæé ãèªèããŠããå¿ èŠããããŸããããã«ã䜿çšå¯èœã§ä¿¡é Œã§ãããã£ãŒãããã¯ãæäŸã§ããããã«ååãªãã¬ãŒãã³ã°ãåããå¿ èŠããããŸãããã ãããã£ãŒããã㯠ã«ãŒããå®è£ ããã ãã§ã¯äžååã§ããæå¹ã«æŽ»çšãããŠãããã確èªããå¿ èŠããããŸããããã«å ããŠããã£ãŒãããã¯ã¯å®çšçã§ãªããã°ãªããŸãããããã§ãªããã°ãäœã®åœ¹ã«ãç«ã¡ãŸããã
ã³ã©ãã¬ãŒã·ã§ã³ãä¿é²ãã
ãã£ãŒããã㯠ã«ãŒãã®æé©åã«ã¯ãã³ã©ãã¬ãŒã·ã§ã³ã®ä¿é²ãéèŠã§ããäŒæ¥ãç¯ãæãäžè¬çãªééãã¯ããµã€ãåãå©é·ããããšã§ããããã«ãããæ å ±ã倱ãããåé¡ãçºçããå¯èœæ§ããããŸãã代ããã«ãäŒæ¥ã¯ç°ãªãããŒã éã®ã³ã©ãã¬ãŒã·ã§ã³ãä¿é²ããå¿ èŠããããŸããããã«ããããã£ãŒããã㯠ã«ãŒãã®å質ãåäžããŸãããŸãããã£ãŒãããã¯ãåŸãã®ã«ãããæéãççž®ããã®ã«ã圹ç«ã¡ãŸãã
é©åãªããŒã«ã䜿çšãã
DevOps ãã£ãŒããã㯠ã«ãŒãã«äœ¿çšã§ããããŒã«ã¯å€æ°ãããŸãããããããããã®ãã¹ãŠãçµç¹ã«é©ããŠããããã§ã¯ãããŸãããçµç¹ã®èŠä»¶ã«åã£ãé©åãªããŒã«ã䜿çšããå¿ èŠããããŸãã人æ°ã®ããããŒã«ã«ã¯ãJiraãSlackãHipChat ãªã©ããããŸãããããã®ããŒã«ã¯ããã£ãŒããã㯠ã«ãŒãã®å¹çãåäžãããã®ã«åœ¹ç«ã¡ãŸãã

ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãšããªããªãŒã«ããã DevOps ãã£ãŒããã㯠ã«ãŒãã®æé©å
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ (CI) ãšç¶ç¶çããªããªãŒ (CD) ã¯ãDevOps ãã£ãŒããã㯠ã«ãŒããå€§å¹ ã«æé©åããŸãã CI/CD ã¯ããœãããŠã§ã¢éçºããã»ã¹ãèªååããããšã§ããã£ãŒããã㯠ã«ãŒããççž®ããã®ã«åœ¹ç«ã¡ãŸããã³ãŒãã®å€æŽã¯ãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ã§é »ç¹ã«ã¡ã€ã³ ãã©ã³ãã«çµ±åãããŸããããã«ãããã³ãŒã倿Žã®é ãã«ãã£ãŠçºçããå¯èœæ§ã®ããçµ±åã®åé¡ãåé¿ã§ããŸããäžæ¹ãç¶ç¶çããªããªãŒã¯ããœãããŠã§ã¢ã®å€æŽããŠãŒã¶ãŒã«é »ç¹ã«é ä¿¡ããã®ã«åœ¹ç«ã¡ãŸãããŠãŒã¶ãŒããã®å€æŽã«é¢ãããã£ãŒãããã¯ããã°ããååŸããã®ã«åœ¹ç«ã¡ãŸãã
ãã£ãŒãããã¯ã®è³ªãé«ããã«ã¯ãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãšç¶ç¶çããªããªãŒã®äž¡æ¹ãéèŠãªåœ¹å²ãæãããŸãããŸããããã»ã¹ãèªååããããšã§æéã®ç¯çŽããµããŒãããŸãããããã®ã¢ãããŒãã¯ãè€é㪠ãããžã§ã¯ã ãã¢ããªã±ãŒã·ã§ã³ã®è¿ éãªæäŸããµããŒãããããããã€ã¯ããµãŒãã¹ ãœãããŠã§ã¢éçºã«æé©ã§ãããã ããéå¹çæ§ãæå°éã«æãããã€ãã©ã€ã³ã®æå¹æ§ãæå€§åããããšã¯ãé©åãªãã£ãŒããã㯠ã«ãŒããååšããå Žåã«ã®ã¿éæã§ããŸãããã®ãããé©åãªãã£ãŒããã㯠ã«ãŒã ãã¯ãããžãéžæããããšãæåã«äžå¯æ¬ ã§ãããã®ã³ã³ããã¹ãã§ã¯ãCD ããã³ CI ãã€ãã©ã€ã³ ããŒã«ã¯ãDevOps ãã£ãŒããã㯠ã«ãŒãã®æé©åã«å€§ãã«åœ¹ç«ã¡ãŸãããã ããããã»ã¹ãããã«æ¹åãããå Žåã¯ãä»ã®åŽé¢ã«æ³šç®ããå¿ èŠããããŸãããããã«ã¯ããã¹ãã®èªååãç£èŠããã®ã³ã°ãªã©ãå«ãŸããŸãã
ãã ããåžå Žã«ã¯ç¡éã®ããŒã«ãããããã¹ãŠã®ããŒã«ãèŠä»¶ã«é©åããå¿ èŠã¯ãããŸããããããã£ãŠããããžã§ã¯ãã®ããŒãºã«åºã¥ããŠããŒã«ãéžæããå¿ èŠããããŸããããšãã°ãAzure ã䜿çšããŠããå Žåã¯ãAzure DevOps Services ã䜿çšããŠãœãããŠã§ã¢éçºããã»ã¹ã管çã§ããŸããä»ã®ä»£æ¿ææ®µã¯ãJenkinsãCloudBees CIãGoogle ã¯ã©ãŠã ãã«ããCircle CI ãªã©ã§ãã
ãããã®ããŒã«ã®ããããã䜿çšããŠãCI/CD ãã€ãã©ã€ã³ã®ãã£ãŒããã㯠ã«ãŒããæé©åã§ããŸãããã ãããããžã§ã¯ãã®èŠä»¶ã«æãé©ãããã®ãéžæããŠãã ãããéçºããŒã ãšéçšããŒã ã®éã«éä¿¡ãã£ãã«ã確ç«ããããšãå¿ é ã§ããããã«ããããã£ãŒãããã¯ãæ£ããå¹ççã«äŒããããããã«ãªããŸãã
ãããã£ãŠãã¯ãŒã¯ãããŒãšããã»ã¹ãçè§£ããŠããªããã°ã广çãªãã£ãŒããã㯠ã«ãŒãã確ç«ããããšã¯ã§ããŸããããŸãããã£ãŒãããã¯ãé©åãªäººã«æž¡ãããé©åãªè¡åããšããããã«ããŸããæåŸã«ããã£ãŒããã㯠ã«ãŒããç£èŠããŠãæå³ãããšããã«æ©èœããŠãããã©ããã確èªããããšãå¿ããªãã§ãã ãããããããããšã§ããã£ãŒããã㯠ã«ãŒããæé©åããæå€§éã«æŽ»çšããããšãã§ããŸãã
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãšããªããªãŒã®éèŠãªåå
åºç¯ãªèª¿æ»ã«åºã¥ããŠããã£ãŒããã㯠ã«ãŒããæé©åããã®ã«åœ¹ç«ã€éèŠãªååã®ãªã¹ãããŸãšããŸããã
å°å ¥ã®èªåå
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ã®äž»ãªç®çã¯ãã³ãŒãã®å€æŽãã¡ã€ã³ ãã©ã³ãã«é »ç¹ã«çµ±åãããããã«ããããšã§ããããã«ãããã³ãŒã倿Žã®é ãã«ãã£ãŠçºçããå¯èœæ§ã®ããçµ±åã®åé¡ãåé¿ã§ããŸãã
ãããå®çŸããã«ã¯ãã³ãŒãã®çµ±åãšé ä¿¡ã®ããã»ã¹ãèªååããå¿ èŠããããŸããããã¯ãå€ãã®ãšãã«ã®ãŒãšæéãç¯çŽããã®ã«åœ¹ç«ã¡ãŸããããã«ã人çãã¹ã®åé¿ã«ã圹ç«ã¡ãŸãã
çããã£ãŒããã㯠ã«ãŒã
倿Žã«é¢ãããã£ãŒãããã¯ãè¿ éã«åŸãã«ã¯ãçããã£ãŒããã㯠ã«ãŒããäžå¯æ¬ ã§ããããã«ãããåé¡ãæ©ã段éã§ç¹å®ããããã«å¿ããŠä¿®æ£ããããšãã§ããŸãã䜵çšããããšã§ããã£ãŒãããã¯ã®è³ªãåäžããŸãããã£ãŒããã㯠ã«ãŒããçããšãé·æçã«ã¯å€ãã®æéãšåŽåãç¯çŽã§ããŸãã
ãã€ãã©ã€ã³ã®ãã¹ã
ãã£ãŒããã㯠ã«ãŒãæé©åã®ãã 1 ã€ã®éèŠãªååã¯ããã¹ã ãã€ãã©ã€ã³ãçšæããããšã§ããããã¯ãæ¬çªç°å¢ã«ãããã€ããåã«ã³ãŒãã®å€æŽããã¹ãããã®ã«åœ¹ç«ã¡ãŸãããããå®çŸããå¯äžã®æ¹æ³ã¯ãã³ãŒãããããã€ããŠãã¹ãããããšã§ãã
ã€ã³ã¹ã¿ã³ããã¹ããšãã«ã
æ°ããã³ãŒãã®å€æŽã¯ãã³ãããåŸããã«ãã¹ãããŠãã«ãããå¿ èŠããããŸããããã«ãããã³ãŒã倿Žã®é ãã«ãã£ãŠçºçããå¯èœæ§ã®ããçµ±åã®åé¡ãåé¿ã§ããŸãã
ãã£ãŒãããã¯ã®äžè²«æ§
ãã®ååã«ããã°ãCI ããã»ã¹ã®çµæã¯äžè²«ããŠããå¿ èŠããããŸããããã¯ãã³ãŒãã®å€æŽã宿çã«ãã¹ãããã³ãã«ããããŠããå Žåã«ã®ã¿éæã§ããŸãã
ç°å¢ã«äŸåããªãé ä¿¡
ã³ãŒã倿Žã®é ä¿¡ã¯ãç°å¢ã«äŸåããŠã¯ãªããŸãããããã¯ãã³ãŒããå¥ã®ç°å¢ã«ãããã€ãããŠããå Žåã«ã®ã¿å®çŸã§ããŸããããã®ç®çã¯ãæå€§éã®ç§»æ€æ§ãç¶æããããšã§ãããã£ãŒããã㯠ã«ãŒããæé©åããã®ã«åœ¹ç«ã€ãã®ä»ã®ããŸããŸãªååããããŸãããããããããã¯æãéèŠãªãã®ã§ãããããã£ãŠããã£ãŒããã㯠ã«ãŒããèšå®ãããšãã¯ããããã®ããšã念é ã«çœ®ããŠãã ããã
ãŸãšã
ã³ãŒãã£ã³ã°ã¯æ¥œãããŠã¹ãªãªã³ã°ã§ãããåæã«å°ãé£ããããšããããŸãã課é¡ãåé¿ããã«ã¯ã广çãªãã£ãŒããã㯠ã«ãŒãã確ç«ããå¿ èŠããããŸããããã«ãããè¿ éãªãã£ãŒãããã¯ãåŸãããšãã§ããã³ãŒã倿Žã®é ãã«ãã£ãŠçºçããå¯èœæ§ã®ããçµ±åã®åé¡ãé²ãããšãã§ããŸãããã£ãŒããã㯠ã«ãŒããã¹ã ãŒãºã«å®è¡ããã«ã¯ãã¯ãŒã¯ãããŒãšããã»ã¹ã®èªååãæç¢ºã«çè§£ããå¿ èŠããããŸããã³ãŒãã£ã³ã°ã®æ··ä¹±ãé¿ããããã«ãäœæ¥ãããç°¡åãã€è¿ éã«ãã ããŒã³ãŒã ãã©ãããã©ãŒã ã§ãã AppMaster ãéžã¶ããšãã§ããŸãã AppMaster ã®å©ããåããŠã匷åãªããã¯ãšã³ããšå ±ã« Web ããã³ ã¢ãã€ã« ã¢ã㪠ãäœæã§ããŸãããã£ãŒããã㯠ã«ãŒããæé©åããã®ã«åœ¹ç«ã€ããã€ãã®æ©èœããããŸãã
ãããã質å
CI/CD ã®äž»ãªå©ç¹ã¯äœã§ãã?
éææ§ãã³ã©ãã¬ãŒã·ã§ã³ãçããã£ãŒããã㯠ã«ãŒããããã³èªååãããããã»ã¹ã¯ãCI/CD ã®äž»ãª å©ç¹ ã§ããããã«ã人çãšã©ãŒãåé¿ããæéãšåŽåãç¯çŽãããã£ãŒãããã¯ã®è³ªãåäžãããŸãã
CI ãš CD ã®äž»ãªéãã¯äœã§ãã?
CI ãš CD ã®äž»ãªéãã¯ãCI ã¯ã³ãŒãã®å€æŽã«é¢ãããã®ã§ããã®ã«å¯ŸããCD ã¯ã³ãŒãã®ãããã€ã«é¢ãããã®ã§ãããã ãã广çãªãã£ãŒããã㯠ã«ãŒãã«ã¯ CI ãš CD ã®äž¡æ¹ãäžå¯æ¬ ã§ãã圌ãã¯ååããŠãããè¿ éãªãã£ãŒãããã¯ãšå質ã®åäžãšããå ±éã®ç®æšãéæããŸãã
ãã£ãŒããã㯠ã«ãŒãã®éèŠæ§
ãã£ãŒããã㯠ã«ãŒãã¯ãCI/CD ããã»ã¹ãåæ»ã«æ©èœããããã«éèŠãªåœ¹å²ãæãããŸãããããã¯ãè¿ éãªãã£ãŒãããã¯ãååŸããã³ãŒã倿Žã®é ãã«ãã£ãŠçºçããå¯èœæ§ã®ããçµ±åã®åé¡ãåé¿ããã®ã«åœ¹ç«ã¡ãŸãã
èªååããªããŠãããŸããããã®ã¯äœã§ãã?
ãæ©æãã€é »ç¹ã«ãã¹ãããããšãããã£ãŒããã㯠ã«ãŒãã®ååãšã ã³ãŒã ã¬ãã¥ãŒ æé ãã¯ãèªååããªããŠãæ©èœããŸãããã ããèªååã»ã©å¹æçã§ã¯ãããŸãããå¢å¹ ãŸãã¯åŒ·åãããã£ãŒããã㯠ã«ãŒããåŠçããªãããå質ã®é«ãã³ãŒãã«æé©ãªå ŽåããããŸãã
ããã¯ãã°ã«è©°ãŸã£ãã¿ã¹ã¯ãåé¡ãåŒãèµ·ããå¯èœæ§ã¯ãããŸãã?
ã¯ããã¿ã¹ã¯ãããã¯ãã°ã«æ®ã£ãŠãããšãåé¡ãçºçããå¯èœæ§ããããŸããã³ãŒãã®å€æŽã宿çã«å±éãããŠããªããšãçµ±åã®åé¡ãçºçããå¯èœæ§ããããŸãã


