æ¢åã®ãã¹ãŠã®CI / CDããŒã«ã®äžã«ããã®åéããäœããæ¢ããŠããå Žåã«æ³šæãæã䟡å€ã®ãã2ã€ã®ãããžã§ã¯ãããããŸãã JenkinsãšGitLabãã©ãããã©ãŒã ã®äžéšã§ããGitLabCI / CDããŒã«ã«ã€ããŠè©±ããŠããŸãã Jenkinsã¯GitHubã«16,000ãè¶ ããæãæã£ãŠããŸãã gitlab.comã®GitLabãªããžããªã«ã¯ã2,000ãè¶ ããæããããŸãããªããžããªã®äººæ°ãæ¯èŒãããšãJenkinsã¯GitLab CI / CDãå«ããã©ãããã©ãŒã ã®8åã®æãç²åŸããŠããããšãããããŸããããããCI / CDããŒã«ãéžæããå Žåãããã¯æ³šæãæã䟡å€ã®ããå¯äžã®ææšã§ã¯ãããŸãããä»ã«ããããããããŸãããããã¯å€ãã®æ¯èŒã§JenkinsãšGitLab CI / CDãäºãã«éåžžã«è¿ãçç±ã説æããŠããŸãã
ããšãã°ãG2ãã©ãããã©ãŒã ããã®ããŒã¿ãåãäžããŸãããã®ãã©ãããã©ãŒã ã«ã¯ããŠãŒã¶ãŒãæäŸããããŸããŸãªè£œåãšè©äŸ¡ã®ã¬ãã¥ãŒãèç©ãããŠããŸãããžã§ã³ãã³ã¹ã¯288件ã®ã¬ãã¥ãŒã«åºã¥ããŠ4.3ã€æã®å¹³åè©äŸ¡ãæã£ãŠããŸãããããŠãããã®GitLabã«ã€ããŠ270ã®ã¬ãã¥ãŒãããããã®æ¥œåšã®å¹³åè©äŸ¡ã¯4.4ã€æã§ãã JenkinsãšGitLabCI / CDãåçã®æ¡ä»¶ã§äºãã«ç«¶åããŠãããšèšã£ãŠãééãã¯ãããŸããã Jenkinsãããžã§ã¯ãã¯2011幎ã«ç»å Žãããã以æ¥ããã¹ã¿ãŒã®ãæ°ã«å ¥ãã®ããŒã«ãšãªã£ãŠããããšã«æ³šç®ããŠãã ããããããåæã«ã2014幎ã«éå§ãããGitLab CI / CDãããžã§ã¯ãã¯ããã®ãã©ãããã©ãŒã ã«ãã£ãŠæäŸãããé«åºŠãªæ©èœã®ãããã§ãéåžžã«é«ãäœçœ®ãå ããŸããã
ä»ã®åæ§ã®ãã©ãããã©ãŒã ãšæ¯èŒãããžã§ã³ãã³ã¹ã®äººæ°ã«ã€ããŠè©±ããšãTravis CIãšãžã§ã³ãã³ã¹ã®ãã©ãããã©ãŒã ãæ¯èŒããèšäºãå ¬éããã®ã§ã調æ»ãæé ããããšã«æ³šæããŠãã ããã 85人ã®ãŠãŒã¶ãŒãåå ããŸãããåçè ã¯ãæãæ°ã«å ¥ã£ãŠããCI / CDããŒã«ãéžæããããã«æ±ããããŸããã 79ïŒ ãJenkinsãéžæãã5ïŒ ãTravis CIãéžæãã16ïŒ ãä»ã®ããŒã«ã奜ãããšã瀺ããŸããã
調æ»çµæ
ä»ã®CI / CDããŒã«ã®äžã§ãGitLab CI / CDãæãé »ç¹ã«èšåãããŸããã
DevOpsãçå£ã«èããŠããå Žåã¯ããããžã§ã¯ãã®è©³çŽ°ãäºç®ããã®ä»ã®èŠä»¶ãèæ ®ããŠãé©åãªããŒã«ãæ éã«éžæããå¿ èŠããããŸããæ£ããéžæãæ¯æŽããããã«ãJenkinsãšGitLab CI / CDãåæããŸããããã¯ãããŸãããã°ãæ£ããéžæãããã®ã«åœ¹ç«ã¡ãŸãã
ãžã§ã³ãã³ã¹ã®çŽ¹ä»
Jenkinsã¯ããœãããŠã§ã¢ãããžã§ã¯ãã«é¢é£ããããŸããŸãªã¿ã¹ã¯ãèªååããããã«èšèšããããããç¥ãããæè»ãªCI / CDããŒã«ã§ãã Jenkinsã¯å®å šã«Javaã§èšè¿°ãããŠãããMITã©ã€ã»ã³ã¹ã®äžã§ãªãªãŒã¹ãããŠããŸãããœãããŠã§ã¢ã®æ§ç¯ããã¹ããå±éãçµ±åãããã³ãªãªãŒã¹ã«é¢é£ããã¿ã¹ã¯ã®èªååãç®çãšãã匷åãªæ©èœã»ãããåããŠããŸãããã®ããŒã«ã¯ãããŸããŸãªãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§äœ¿çšã§ããŸãããããã«ã¯ãmacOSãWindowsãããã³OpenSUSEãUbuntuãRedHatãªã©ã®å€ãã®Linuxãã£ã¹ããªãã¥ãŒã·ã§ã³ãå«ãŸããŸããããŸããŸãªOSçšã«èšèšãããJenkinsã€ã³ã¹ããŒã«ããã±ãŒãžããããŸãããã®ããŒã«ã¯ãDockerããã³JREïŒJavaã©ã³ã¿ã€ã ç°å¢ïŒãåããä»»æã®ã·ã¹ãã ã«ã€ã³ã¹ããŒã«ã§ããŸãã
Jenkinsã®éçºè ã¯ãKubernetesã§å®è¡ããããã«èšèšãããå¥ã®ãããžã§ã¯ãJenkinsXãäœæããŸããã Jenkins Xã¯ãHelmãJenkins CI / CDãµãŒããŒãKubernetesãããã³ãã®ä»ã®ããŒã«ãçµ±åããŠãDevOpsã®ãã¹ããã©ã¯ãã£ã¹ã«åŸãCI / CDãã€ãã©ã€ã³ãæ§ç¯ããŸããããšãã°ãããã§ã¯GitOpsã䜿çšããŠããŸãã
ãžã§ã³ãã³ã¹ã®å©ç¹ã®ãã³ã¯ã«ããã®ã¹ã¯ãªãããéåžžã«ããæ§é åãããç解ãããããèªã¿ããããšããäºå®ãè¿œå ããããšãã§ããŸãã JenkinsããŒã ã¯ãããŸããŸãªãã¯ãããžãŒãšã®Jenkinsã®çžäºäœçšãæŽçããããšãç®çãšããçŽ1000ã®ãã©ã°ã€ã³ãäœæããŸãããã¹ã¯ãªããã§ã¯ãèªèšŒã·ã¹ãã ã䜿çšã§ããŸããããã«ãããããšãã°ãããŸããŸãªã¯ããŒãºãã·ã¹ãã ã«æ¥ç¶ã§ããŸãã
Jenkinsãã€ãã©ã€ã³ã®éçšã§ãäœæ¥ã®ç¹å®ã®æ®µéãæ£åžžã«å®äºãããã©ããã«é¢ä¿ãªããåã¹ãããã§äœãèµ·ãããã芳å¯ã§ããŸãããã ããç¹å®ã®ã°ã©ãã£ã«ã«ã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããã«ã端æ«ã®æ©èœã䜿çšããŠãããããã¹ãŠã芳å¯ã§ããŸãã
ãžã§ã³ãã³ã¹ã®ç¹åŸŽ
Jenkinsã®ããç¥ãããæ©èœã«ã¯ãæ§æã®å®¹æããããŸããŸãªæäœã®é«ã¬ãã«ã®èªååãããã³åªããããã¥ã¡ã³ããå«ãŸããŸããDevOpsã¿ã¹ã¯ã®è§£æ±ºã«ã€ããŠè©±ãå ŽåãJenkinsã¯éåžžã«ä¿¡é Œæ§ã®é«ãããŒã«ãšèŠãªãããŸããããã䜿çšãããšãååãšããŠããããžã§ã¯ãåŠçã®ããã»ã¹å šäœã綿å¯ã«ç£èŠããããšã¯æå³ããããŸãããããã¯ãä»ã®CI / CDããŒã«ã«ã¯åœãŠã¯ãŸããŸããããžã§ã³ãã³ã¹ã®æãéèŠãªæ©èœã®ããã€ãã«ã€ããŠè©±ããŸãããã
â1ãç¡æã®ãªãŒãã³ãœãŒã¹ã®ãã«ããã©ãããã©ãŒã ãµããŒã
Jenkinsã¯ãmacOSãWindowsãããã³Linuxãã©ãããã©ãŒã ã§å®è¡ã§ããŸãããŸããDockerç°å¢ã§ãæ©èœãããããèªååãããã¿ã¹ã¯ã®åäžã§é«éãªå®è¡ãæŽçã§ããŸãããã®ããŒã«ã¯ãApacheTomcatãGlassFishãªã©ã®Java察å¿ã³ã³ããã§ãµãŒãã¬ãããšããŠå®è¡ããããšãã§ããŸããJenkinsã®ã€ã³ã¹ããŒã«ã¯ååã«ææžåãããŠããŸãã
â2ããã©ã°ã€ã³ã®éçºããããšã³ã·ã¹ãã
Jenkinsãã©ã°ã€ã³ãšã³ã·ã¹ãã ã¯ãä»ã®CI / CDããŒã«ã®ãã©ã°ã€ã³ãšã³ã·ã¹ãã ãããã¯ããã«æçããŠããããã«èŠããŸããçŸåšã1500ãè¶ ããJenkinsãã©ã°ã€ã³ããããŸãããããã®ãã©ã°ã€ã³ã¯ãããŸããŸãªãããžã§ã¯ããèªååã§ãããããããŸããŸãªã¿ã¹ã¯ã解決ããããšãç®çãšããŠããŸããè±å¯ãªç¡æãã©ã°ã€ã³ããéžæã§ãããšããããšã¯ãJenkinsã䜿çšããŠãã人ãé«äŸ¡ãªææãã©ã°ã€ã³ãè³Œå ¥ããå¿ èŠããªãããšãæå³ããŸããJenkinsã¯ãå€ãã®DevOpsããŒã«ãšçµ±åã§ããŸãã
â3ãç°¡åãªã€ã³ã¹ããŒã«ãšã»ããã¢ãã
Jenkinsã¯ãã€ã³ã¹ããŒã«ãšæ§æãéåžžã«ç°¡åã§ããåæã«ãã·ã¹ãã ãæŽæ°ããããã»ã¹ãéåžžã«äŸ¿å©ã§ããããã§ããJenkinsã®ã€ã³ã¹ããŒã«ãšæ§æã«é¢é£ããããŸããŸãªè³ªåãžã®åçãèŠã€ããããšãã§ãããããããã¥ã¡ã³ãã®å質ã«ã€ããŠèšåãã䟡å€ããããŸãã
â4ããã¬ã³ããªãŒãªã³ãã¥ããã£
ãã§ã«è¿°ã¹ãããã«ããžã§ã³ãã³ã¹ã¯ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã§ããããã®ãšã³ã·ã¹ãã ã«ã¯èšå€§ãªæ°ã®ãã©ã°ã€ã³ãå«ãŸããŠããŸããJenkinsã®åšãã«ãŠãŒã¶ãŒãšéçºè ã®å€§èŠæš¡ãªã³ãã¥ããã£ã圢æããããããžã§ã¯ãã®éçºãæ¯æŽããŠããŸããã³ãã¥ããã£ã¯ããžã§ã³ãã³ã¹ã®çºå±ãæšé²ããèŠå ã®1ã€ã§ãã
â5ãRESTAPIã®å¯çšæ§
Jenkinsã䜿çšããŠããéãã·ã¹ãã ã®æ©èœãæ¡åŒµããRESTAPIã䜿çšã§ããŸããã·ã¹ãã ãžã®ãªã¢ãŒãã¢ã¯ã»ã¹çšã®APIã¯ãXMLãJSONPããµããŒãããJSONãPythonã®3ã€ã®ããŒãžã§ã³ã§æäŸãããŸããããã¯ã Jenkins RESTAPIã®æäœã®è©³çŽ°ãæããã«ããããã¥ã¡ã³ãããŒãžã§ãã
â6ã䞊åã¿ã¹ã¯ã®ãµããŒã
Jenkinsã¯ãDevOpsã¿ã¹ã¯ã®äžŠååããµããŒãããŠããŸããé¢é£ããããŒã«ãšç°¡åã«çµ±åã§ããã¿ã¹ã¯ã®é²è¡ç¶æ³ãéç¥ã§ããŸããããŸããŸãªä»®æ³ãã·ã³ã䜿çšããŠãããžã§ã¯ãã®äžŠåãã«ããç·šæããããšã«ãããã³ãŒãã®ãã¹ããé«éåã§ããŸãã
â7ãåæ£ç°å¢ã§ã®äœæ¥ã®ãµããŒã
Jenkinsã䜿çšãããšãè€æ°ã®ã³ã³ãã¥ãŒã¿ãŒã䜿çšããŠåæ£ãã«ããæŽçã§ããŸãããã®æ©èœã¯å€§èŠæš¡ãªãããžã§ã¯ãã«é©çšå¯èœã§ããã1ã€ã®ã¡ã€ã³JenkinsãµãŒããŒãšè€æ°ã®ã¹ã¬ãŒããã·ã³ããããšããäœæ¥ã¹ããŒã ã䜿çšããŸããã¹ã¬ãŒããã·ã³ã¯ãããŸããŸãªç°å¢ã§ãããžã§ã¯ãã®ãã¹ããæŽçããå¿ èŠãããç¶æ³ã§ã䜿çšã§ããŸãããããã®æ©èœã«ããããžã§ã³ãã³ã¹ã¯ä»ã®åæ§ã®ãããžã§ã¯ããšã¯äžç·ãç»ããŠããŸãã
GitLabã®çŽ¹ä»
GitLab CI / CDã¯ãDevOpsãšã³ãžãã¢ã«ãšã£ãŠææ°ãã€æãæãããŠããããŒã«ã®1ã€ã§ãããã®ç¡æã®ãªãŒãã³ãœãŒã¹ããŒã«ã¯ãGitLabããŒãžã§ã³å¶åŸ¡ã·ã¹ãã ã«çµã¿èŸŒãŸããŠããŸãã GitLabãã©ãããã©ãŒã ã«ã¯ã³ãã¥ããã£ããŒãžã§ã³ãããããªããžããªã®ç®¡çãåé¡ã远跡ããããã®ããŒã«ãã³ãŒãã¬ãã¥ãŒã®æŽçãããã¥ã¡ã³ãã®äœæã«éç¹ã眮ããã¡ã«ããºã ããµããŒãããŠããŸããäŒæ¥ã¯GitLabãããŒã«ã«ã«ã€ã³ã¹ããŒã«ããActive Directoryããã³LDAPãµãŒããŒã«ãªã³ã¯ããŠãå®å šãªãŠãŒã¶ãŒèªèšŒãšèªèšŒãè¡ãããšãã§ããŸãã
ããã¯ãGitLab CI / CDæ©èœã䜿çšããŠCI / CDãã€ãã©ã€ã³ãäœæããæ¹æ³ãåŠã¶ã®ã«åœ¹ç«ã€ãããªãã¥ãŒããªã¢ã«ã§ãã
GitLab CI / CDã¯å ã ã¹ã¿ã³ãã¢ãã³ãââããžã§ã¯ããšããŠãªãªãŒã¹ãããŸãããã2015幎ã«ãã®ããŒã«ãããã¯GitLab8.0ã«çµ±åãããŸãããå¥ã®GitLabCI / CDãµãŒããŒã¯ã25,000ãè¶ ãããŠãŒã¶ãŒããµããŒãã§ããŸãããã®ãããªãµãŒããŒã«åºã¥ããŠãå¯çšæ§ã®é«ãã·ã¹ãã ãäœæã§ããŸãã
GitLab CI / CDãšã¡ã€ã³ã®GitLabãããžã§ã¯ãã¯ãRuby andGoã§èšè¿°ãããŠããŸãããããã¯MITã©ã€ã»ã³ã¹ã®äžã§ãªãªãŒã¹ãããŸãã GitLab CI / CDã¯ãCI / CDããŒã«ã®éåžžã®æ©èœã«å ããŠãäœæ¥ã¹ã±ãžã¥ãŒãªã³ã°ãªã©ã®è¿œå æ©èœããµããŒãããŸãã
GitLab CI / CDããããžã§ã¯ãã«çµ±åããã®ã¯éåžžã«ç°¡åã§ãã GitLab CI / CDã䜿çšããå Žåããããžã§ã¯ãã³ãŒããåŠçããããã»ã¹ã¯ã¹ããŒãžã«åå²ãããåã¹ããŒãžã¯ç¹å®ã®é åºã§å®è¡ãããè€æ°ã®ã¿ã¹ã¯ã§æ§æãããŸããã¿ã¹ã¯ã¯åŸ®èª¿æŽã«åœ¹ç«ã¡ãŸãã
ã¿ã¹ã¯ã¯äžŠè¡ããŠå®è¡ã§ããŸããã¹ããŒãžãšã¿ã¹ã¯ã®ã·ãŒã±ã³ã¹ãèšå®ãããšãCI / CDãã€ãã©ã€ã³ã䜿çšã§ããããã«ãªããŸããã¿ã¹ã¯ã®ã¹ããŒã¿ã¹ãç£èŠããããšã§ããã®é²è¡ç¶æ³ãç£èŠã§ããŸãããã®çµæãGitLab CI / CDã®äœ¿çšã¯éåžžã«äŸ¿å©ã§ãããããããä»ã®åæ§ã®ããŒã«ããã䟿å©ã§ãã
GitLab CI / CDããã³GitLabã®æ©èœ
GitLab CI / CDã¯ãæã人æ°ã®ããDevOpsããŒã«ã®1ã€ã§ãããã®ãããžã§ã¯ãã¯é«å質ã®ããã¥ã¡ã³ããç¹åŸŽã§ããã®æ©èœã¯ç°¡åã§äœ¿ããããã§ããGitLab CI / CDã«ãŸã æ £ããŠããªãå Žåã¯ããã®ããŒã«ã®æ¬¡ã®æ©èœãªã¹ãããããã®ããŒã«ã«äœãæåŸ ã§ãããã«ã€ããŠã®äžè¬çãªã¢ã€ãã¢ãåŸãããŸãããããã®æ©èœã®å€ãã¯ãGitLab CI / CDãçµ±åãããŠããGitLabãã©ãããã©ãŒã èªäœã«é¢é£ããŠããããšã«æ³šæããŠãã ããã
â1ã人æ°
GitLab CI / CDã¯æ¯èŒçæ°ããããŒã«ã§ãããåºã䜿çšãããŠããŸããGitLab CI / CDã¯ãèªååããããœãããŠã§ã¢ã®ãã¹ããšå±éã«äœ¿çšãããéåžžã«äººæ°ã®ããCI / CDããŒã«ã«åŸã ã«ãªããŸãããã«ã¹ã¿ãã€ãºã¯ç°¡åã§ãããŸããGitLabãã©ãããã©ãŒã ã«çµã¿èŸŒãŸããŠããç¡æã®CI / CDããŒã«ã§ããããŸãã
â2ãGitLabPagesãšJekyllã®ãµããŒã
Jekyllã¯ãGitLab Pagesã·ã¹ãã å ã§äœ¿çšããŠãGitLabãªããžããªã«åºã¥ããŠãµã€ããäœæã§ããéçãµã€ããžã§ãã¬ãŒã¿ã§ããã·ã¹ãã ã¯ãœãŒã¹ãããªã¢ã«ãååŸãããããã«åºã¥ããŠæ¢è£œã®éçãµã€ããçæããŸãã
_config.yml
Jekyllã䜿çšãããã¡ã€ã«ãç·šéããããšã§ããããã®ãµã€ãã®ã«ãã¯ã¢ã³ããã£ãŒã«ãå¶åŸ¡ã§ããŸãã
â3ããããžã§ã¯ãèšç»æ©èœ
ãããžã§ã¯ãã®ãã€ã«ã¹ããŒã³ãèšç»ããæ©èœã«ãããåé¡ãåé¡ã°ã«ãŒãã®è¿œè·¡ã容æã«ãªããŸããããã«ããããããžã§ã¯ãã®äœæ¥ã®ç·šæã管çããç¹å®ã®æ¥ä»ã®å®è£ ãèšç»ã§ããŸãã
â4ãCIã©ã³ããŒã®èªåã¹ã±ãŒãªã³ã°
ç¹å®ã®ã¿ã¹ã¯ã®å®è¡ãæ åœããã©ã³ããŒã®èªåã¹ã±ãŒãªã³ã°ã®ãããã§ããµãŒããŒå®¹éãåããã³ã¹ããå€§å¹ ã«ç¯çŽã§ããŸããããã¯ãç¹ã«ãããžã§ã¯ãã䞊è¡ããŠãã¹ããããç°å¢ã§ã¯éåžžã«éèŠã§ããè€æ°ã®ãªããžããªãæã€å€§èŠæš¡ãªãããžã§ã¯ãã§ãéèŠã§ãã
â5ãåé¡è¿œè·¡ããŒã«
GitLabã®åŒ·åãªåé¡è¿œè·¡æ©èœã«ãããå€ãã®ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã§ãã©ãããã©ãŒã ã䜿çšãããããã«ãªããŸãããGitLab CI / CDã䜿çšãããšãããŸããŸãªã³ãŒããã©ã³ãã®äžŠåãã¹ããå¯èœã«ãªããŸããã·ã¹ãã ã€ã³ã¿ãŒãã§ã€ã¹ã§ãã¹ãçµæãåæãããšäŸ¿å©ã§ããããã«ãããGitLab CI / CDã¯Jenkinsãšã¯äžç·ãç»ããŠããŸãã
â6ããªããžããªãžã®ã¢ã¯ã»ã¹ãå¶éãã
GitLabãã©ãããã©ãŒã ã¯ããªããžããªãžã®ã¢ã¯ã»ã¹ã®å¶éããµããŒãããŠããŸããããšãã°ããªããžããªå ã®ãããžã§ã¯ãã§å ±åäœæ¥ãè¡ã人ã«ã¯ãèªåã®åœ¹å²ã«å¯Ÿå¿ããæš©éãå²ãåœãŠãããšãã§ããŸããããã¯ç¹ã«äŒæ¥ãããžã§ã¯ãã«åœãŠã¯ãŸããŸãã
â7ãç©æ¥µçãªã³ãã¥ããã£ãµããŒã
GitLabãäžå¿ã«æŽ»çºãªã³ãã¥ããã£ãçºå±ããŠããããã®ãã©ãããã©ãŒã ãšãã®ããŒã«ãç¹ã«GitLab CI / CDã®éçºã«è²¢ç®ããŠããŸããGitLab CI / CDãšGitLabã®ç·å¯ãªçµ±åã«ãããGitLab CI / CDã§ã®äœæ¥æã«çºçãã質åãžã®åçãç°¡åã«èŠã€ããããšãã§ããŸãã
â8ãããŸããŸãªããŒãžã§ã³å¶åŸ¡ã·ã¹ãã ã§ã®äœæ¥ã®ãµããŒã
GitLab CI / CDã¯ãGitLabãªããžããªã«é 眮ãããã³ãŒãã ãã§ãªãæ©èœããã·ã¹ãã ã§ããããšãã°ãã³ãŒããGitHubãªããžããªã«ä¿åããããGitLab CI / CDã䜿çšããŠCI / CDãã€ãã©ã€ã³ãGitLabäžã§ç·šæãããã§ããŸãã
JenkinsãšGitLabCI / CDã®æ¯èŒ
JenkinsãšGitLabCI / CDã¯éåžžã«åªããããŒã«ã§ããããããããCI / CDãã€ãã©ã€ã³ãé©åã«æ©èœãããããšãã§ããŸããããããããããæ¯èŒãããšãå€ãã®ç¹ã§é¡äŒŒããŠããŸãããããã€ãã®ç¹ã§äºãã«ç°ãªã£ãŠããããšãããããŸãã
ç¹æ§ | ãžã§ã³ãã³ã¹ | GitLab CI/CD |
. | , â GitLab. | |
. | . | |
. | . | |
â . | . | |
CI/CD- | , Jenkins Pipeline. | . |
. | . | |
1000 . | GitLab. | |
API | API. | API . |
JavaScript | . | . |
(Slack, GitHub). | ãµãŒãããŒãã£ã®ã·ã¹ãã ãç¹ã«GitHubãKubernetesãšçµ±åããããã®ããŒã«ããããããããŸãã | |
ã³ãŒãå質管ç | ãµããŒã-SonarQubeãã©ã°ã€ã³ããã³ãã®ä»ã®ãã©ã°ã€ã³ã§ã | ãµããŒããããŠããŸãã |
JenkinsãšGitLabCI / CDã®éã
JenkinsãšGitLabCI / CDã«ã€ããŠèª¬æããã³æ¯èŒããã®ã§ããããã®DevOpsããŒã«ã®éãã«çŠç¹ãåœãŠãŸãããããããã®éãã«ã€ããŠç¥ãããšã¯ããããã®ããŒã«ã®1ã€ãä»ããã奜ã人ãç解ããã®ã«åœ¹ç«ã¡ãŸãã
- GitLab CI / CDã¯ãGitãªããžããªãå®å šã«å¶åŸ¡ã§ããŸãããªããžããªãã©ã³ããšä»ã®ããã€ãã®æ©èœã®ç®¡çã«ã€ããŠè©±ããŠããŸããããããJenkinsã¯ãªããžããªã®æäœæ¹æ³ãç¥ã£ãŠããŸãããGitLab CI / CDãšåãã¬ãã«ã®å¶åŸ¡ãæäŸããŠããŸããã
- Jenkinsã¯ç¡æã®ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã§ãããããéžã¶äººã¯èª°ã§ããããç¬ç«ããŠå±éããŸãããŸããGitLab CI / CDã¯GitLabãã©ãããã©ãŒã ã«å«ãŸããŠãããæ¢è£œã®ãœãªã¥ãŒã·ã§ã³ã§ãã
- GitLab CI / CDã¯ãé«åºŠãªãããžã§ã¯ãã¬ãã«ã®ã¿ã¹ã¯ç®¡çããµããŒãããŸãããžã§ã³ãã³ã¹ã®ãã¡ãåŽã¯ããŸãéçºãããŠããŸããã
JenkinsãšGitLabCI / CDïŒé·æãšçæ
ããã§ãJenkinsãšGitLab CI / CDã«ã€ããŠããçšåºŠç解ã§ããŸãããããŠããããã®ããŒã«ãããã«ããç解ããããã«ããããã®é·æãšçæãèŠãŠã¿ãŸããããå¿ èŠãªããŒã«ã«ã€ããŠã¯ããã§ã«æ±ºå®ããŠããããšãåæãšããŠããŸããããŸãããã°ããã®ã»ã¯ã·ã§ã³ã§èªåèªèº«ããã¹ãã§ããããã«ãªããŸãã
âãžã§ã³ãã³ã¹ã®åŒ·ã¿
- å€æ°ã®ãã©ã°ã€ã³ã
- ããŒã«ã®ã€ã³ã¹ããŒã«ãå®å šã«å¶åŸ¡ããŸãã
- ã©ã³ããŒã®ç°¡åãªãããã°ã
- ç°¡åãªããŒãæ§æã
- ç°¡åãªã³ãŒãå±éã
- éåžžã«åªããè³æ Œç®¡çã·ã¹ãã ã
- æè»æ§ãšæ±çšæ§ã
- ããŸããŸãªããã°ã©ãã³ã°èšèªã®ãµããŒãã
- ã·ã¹ãã ã¯çŽæçã§ãã
âãžã§ã³ãã³ã¹ã®åŒ±ç¹
- .
- Jenkins , , .
- CI/CD-.
â GitLab CI/CD
- Docker.
- .
- , CI/CD-.
- .
- .
- .
- .
- .
â GitLab CI/CD
- / .
- .
- CI/CD- .
JenkinsãšGitLabCI / CDã®äž¡æ¹ã«é·æãšçæããããŸããäœãéžæããããšãã質åã«å¯Ÿããçãã¯ãç¹å®ã®ãããžã§ã¯ãã®ããŒãºãšç¹æ§ã«ãã£ãŠç°ãªããŸããä»æ¥ã¬ãã¥ãŒãããCI / CDããŒã«ã®ããããã¯ãåãåé¡ã解決ããããã«äœæããããã®ã§ãããç¹å®ã®ç¹æ§ãç°ãªããŸããããã¯èšã£ãŠããJenkinsã¯ã¹ã¿ã³ãã¢ãã³ããŒã«ã§ãããGitLab CI / CDã¯ã³ãŒãã³ã©ãã¬ãŒã·ã§ã³ã®ãã¬ãŒã ã¯ãŒã¯ã®äžéšã§ãã
CI / CDã·ã¹ãã ãéžæãããšãã¯ããã®æ©èœã«å ããŠãããã«é¢é£ããå¯èœæ§ã®ããã³ã¹ããšããããžã§ã¯ãããµããŒãããDevOpsãšã³ãžãã¢ãäœã«æ £ããŠããããèæ ®ãã䟡å€ããããŸãã
ã©ã®CI / CDããŒã«ã䜿çšããŠããŸããïŒ