éå» XNUMX 幎éã§ãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ (ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãCI) ããã³ç¶ç¶çãããã€ã¡ã³ã (ç¶ç¶çããªããªãŒãCD) ã®ããã®ããŒã«ã®éçºã«ãããŠå€§ããªé²æ©ãèŠãããŸããã ãœãããŠã§ã¢ã®éçºãšéçšãçµ±åããæè¡ïŒDevelopment OperationsãDevOpsïŒã®çºå±ã«ãããCI/CDããŒã«ã®éèŠãæ¥å¢ããŠããŸãã æ¢åã®ãœãªã¥ãŒã·ã§ã³ã¯åžžã«æ¹åãããæ代ã«è¿œãã€ãããã«æ°ããããŒãžã§ã³ããªãªãŒã¹ãããå質ä¿èšŒãœãããŠã§ã¢ (Quality AssuranceãQA) ã®äžçã§ã¯ãå€ãã®æ°è£œåã絶ããç»å ŽããŠããŸãã ããã»ã©è±å¯ãªéžæè¢ããããããé©åãªããŒã«ãéžæããã®ã¯ç°¡åãªäœæ¥ã§ã¯ãããŸããã
æ¢åã® CI / CD ããŒã«ã®äžã§ããã®åéã§äœããæ¢ããŠãã人ã«ãšã£ãŠééããªã泚ç®ã«å€ãããããžã§ã¯ãã XNUMX ã€ãããŸãã ããã§ã¯ãJenkins ãšãGitLab ãã©ãããã©ãŒã ã®äžéšã§ãã GitLab CI / CD ããŒã«ã«ã€ããŠè©±ããŸãã ãžã§ã³ãã³ã¹ã«ã¯ä»¥äžã®ãã®ããããŸã
ããšãã°ãG2 ãã©ãããã©ãŒã ããã®ããŒã¿ãèããŠã¿ãŸããããGXNUMX ãã©ãããã©ãŒã ã«ã¯ãããŸããŸãªè£œåã®ã¬ãã¥ãŒãšãŠãŒã¶ãŒãäžããè©äŸ¡ãèç©ãããŠããŸãã å¹³åè©äŸ¡ã¯ãã¡ã
ä»ã®åæ§ã®ãã©ãããã©ãŒã ãšæ¯èŒãã Jenkins ã®äººæ°ã«ã€ããŠè©±ãå ŽåãTravis CI ãš Jenkins ãã©ãããã©ãŒã ãæ¯èŒããèšäºãå ¬éãã調æ»ãå®æœããããšã«æ³šæããŠãã ããã 85åã®ãŠãŒã¶ãŒãåå ããŸããã åçè ã¯ãæãæ°ã«å ¥ã£ãŠãã CI/CD ããŒã«ãéžæããããæ±ããããŸããã 79% ã Jenkins ãéžæãã5% ã Travis CI ãéžæãã16% ãä»ã®ããŒã«ã奜ããšåçããŸããã
ã¢ã³ã±ãŒãçµæ
ä»ã® CI/CD ããŒã«ã®äžã§ããGitLab CI/CD ãæãé »ç¹ã«èšåãããŸããã
DevOps ã«çå£ã«åãçµãã§ããå Žåã¯ããããžã§ã¯ãã®è©³çŽ°ãäºç®ããã®ä»ã®èŠä»¶ãèæ ®ããŠãé©åãªããŒã«ãæ éã«éžæããå¿ èŠããããŸãã æ£ããéžæãã§ããããã«ãJenkins ãš GitLab CI/CD ã確èªããŸãã ããã¯ãæ£ããéžæãããã®ã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸãã
ãžã§ã³ãã³ã¹ã®çŽ¹ä»
Jenkins éçºè ã¯ãKubernetes ç°å¢ã§åäœããããã«èšèšãããå¥ã®ãããžã§ã¯ã Jenkins X ãäœæããŸããã Jenkins X ã¯ãHelmãJenkins CI/CD ãµãŒããŒãKubernetesããã®ä»ã®ããŒã«ãçµ±åããŠãDevOps ã®ãã¹ã ãã©ã¯ãã£ã¹ã«åŸã£ã CI/CD ãã€ãã©ã€ã³ãæ§ç¯ããŸãã ããšãã°ãããã§ã¯ GitOps ã䜿çšãããŠããŸãã
Jenkins ã®å©ç¹ã®å®åº«ã«ããã®ã¹ã¯ãªãããéåžžã«ããæ§é åãããŠãããç解ãããããèªã¿ããããšããäºå®ãå ããããšãã§ããŸãã Jenkins ããŒã ã¯ãJenkins ãšããŸããŸãªãã¯ãããžãŒãšã®çžäºäœçšãæŽçããããšãç®çãšããçŽ 1000 åã®ãã©ã°ã€ã³ãäœæããŸããã ã¹ã¯ãªããã§ã¯èªèšŒã·ã¹ãã ã䜿çšã§ããŸããããã«ãããããšãã°ãããŸããŸãªã¯ããŒãºã ã·ã¹ãã ãžã®æ¥ç¶ãå¯èœã«ãªããŸãã
Jenkins ãã€ãã©ã€ã³ã®æäœäžã«ãäœæ¥ã®ç¹å®ã®æ®µéãæ£åžžã«å®äºãããã©ãããåã¹ãããã§äœãèµ·ãã£ããã芳å¯ã§ããŸãã ãã ããç¹å®ã®ã°ã©ãã£ã«ã« ã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããã«ã端æ«ã®æ©èœã䜿çšããŠãããããã¹ãŠãèŠèŽã§ããŸãã
ãžã§ã³ãã³ã¹ã®ç¹åŸŽ
Jenkins ã®ããç¥ãããæ©èœãšããŠã¯ãã»ããã¢ããã®å®¹æããããŸããŸãªæäœã®é«åºŠãªèªååãåªããããã¥ã¡ã³ããæããããŸãã DevOpsã¿ã¹ã¯ã®è§£æ±ºã«ã€ããŠè©±ãå Žåãããã§ã¯Jenkinsãéåžžã«ä¿¡é Œã§ããããŒã«ã§ãããšèããããŠãããååãšããŠããããžã§ã¯ãåŠçã®ããã»ã¹å šäœã泚ææ·±ãç£èŠããããšã¯æå³ããããŸããã ããã¯ãä»ã® CI/CD ããŒã«ã«ã¯åœãŠã¯ãŸããŸããã Jenkins ã®æãéèŠãªæ©èœã®ããã€ãã«ã€ããŠè©±ããŸãããã
â1. ç¡æããªãŒãã³ãœãŒã¹ããã«ããã©ãããã©ãŒã ã®ãµããŒã
Jenkins ã¯ãmacOSãWindowsãLinux ãã©ãããã©ãŒã äžã§å®è¡ã§ããŸãã Docker ç°å¢ã§ãæ©èœãããããèªååãããã¿ã¹ã¯ã®åäžãã€é«éãªå®è¡ãçµç¹åã§ããŸãã ãã®ããŒã«ã¯ãApache Tomcat ã GlassFish ãªã©ã® Java 察å¿ã³ã³ããã§ãµãŒãã¬ãããšããŠå®è¡ããããšãã§ããŸãã Jenkins ã®å®æ§çãªã€ã³ã¹ããŒã«
â2. éçºããããã©ã°ã€ã³ãšã³ã·ã¹ãã
Jenkins ãã©ã°ã€ã³ ãšã³ã·ã¹ãã ã¯ãä»ã® CI/CD ããŒã«ã®ãã©ã°ã€ã³ ãšã³ã·ã¹ãã ãããã¯ããã«æçããŠããããã§ãã çŸåšãJenkins ã«ã¯ 1500 ãè¶
ãããã©ã°ã€ã³ããããŸãã ãããã®ãã©ã°ã€ã³ã¯å¹
åºãã¿ã¹ã¯ã解決ããããšãç®çãšããŠããããã®å©ããåããŠããŸããŸãªãããžã§ã¯ããèªååã§ããŸãã ç¡æã®ãã©ã°ã€ã³ãè±å¯ã«ãããããJenkins ã䜿çšããŠããå Žåã¯é«äŸ¡ãªææãã©ã°ã€ã³ã賌å
¥ããå¿
èŠããããŸããã å¯èœæ§ã¯ãããŸã
â3. ç°¡åãªã€ã³ã¹ããŒã«ãšã»ããã¢ãã
Jenkins ã¯ã€ã³ã¹ããŒã«ãšæ§æãéåžžã«ç°¡åã§ãã åæã«ãã·ã¹ãã ãæŽæ°ããããã»ã¹ãéåžžã«äŸ¿å©ã§ãã ããã§ããããã¥ã¡ã³ãã®å質ã«ã€ããŠèšåãã䟡å€ããããŸããããã¥ã¡ã³ãã«ã¯ãJenkins ã®ã€ã³ã¹ããŒã«ãšæ§æã«é¢ããããŸããŸãªè³ªåãžã®åçãèšèŒãããŠããŸãã
â4. ãã¬ã³ããªãŒãªã³ãã¥ããã£
ãã§ã«è¿°ã¹ãããã«ãJenkins ã¯ãªãŒãã³ãœãŒã¹ ãããžã§ã¯ãã§ããããã®ãšã³ã·ã¹ãã ã«ã¯èšå€§ãªæ°ã®ãã©ã°ã€ã³ãå«ãŸããŠããŸãã ãŠãŒã¶ãŒãšéçºè ã®å€§èŠæš¡ãªã³ãã¥ããã£ã Jenkins ãäžå¿ã«çºå±ãããããžã§ã¯ãã®éçºãæ¯æŽããŠããŸããã ã³ãã¥ããã£ã¯ãJenkins ã®éçºãæšé²ããèŠå ã® XNUMX ã€ã§ãã
â5. REST APIã®å©çšå¯èœæ§
Jenkins ã䜿çšããå Žåãã·ã¹ãã ã®æ©èœãæ¡åŒµãã REST API ã䜿çšã§ããŸãã ã·ã¹ãã ãžã®ãªã¢ãŒã ã¢ã¯ã»ã¹çšã® API ã¯ãXMLãJSONP ãµããŒãä»ãã® JSONãPython ã® XNUMX ã€ã®ããŒãžã§ã³ã§æäŸãããŸãã
â6. ã¿ã¹ã¯ã®äžŠåå®è¡ã®ãµããŒã
Jenkins ã¯ãDevOps ã¿ã¹ã¯ã®äžŠååããµããŒãããŠããŸãã é¢é£ããŒã«ãšç°¡åã«çµ±åã§ããã¿ã¹ã¯ã®çµæã«é¢ããéç¥ãåãåãããšãã§ããŸãã ããŸããŸãªä»®æ³ãã·ã³ã䜿çšããŠãããžã§ã¯ãã®äžŠåãã«ããçµç¹ããããšã§ãã³ãŒãã®ãã¹ããé«éåã§ããŸãã
â7. åæ£ç°å¢ã§ã®äœæ¥ã®ãµããŒã
Jenkins ã䜿çšãããšãè€æ°ã®ã³ã³ãã¥ãŒã¿ãŒã䜿çšããŠåæ£ãã«ããæŽçã§ããŸãã ãã®æ©èœã¯å€§èŠæš¡ãªãããžã§ã¯ãã«é©çšã§ããXNUMX ã€ã®ãã¹ã¿ãŒ Jenkins ãµãŒããŒãšè€æ°ã®ã¹ã¬ãŒã ãã·ã³ãååšãããšããäœæ¥ã¹ããŒã ã䜿çšããŸãã ã¹ã¬ãŒã ãã·ã³ã¯ãããŸããŸãªç°å¢ã§ãããžã§ã¯ãã®ãã¹ããçµç¹ããå¿ èŠãããç¶æ³ã§ã䜿çšã§ããŸãã ãããã®æ©èœã«ãããJenkins ã¯ä»ã®åæ§ã®ãããžã§ã¯ããšã¯ç°ãªããŸãã
GitLab ã®æŠèŠ
GitLab CI/CD ã¯åœåã¹ã¿ã³ãã¢ãã³ ãããžã§ã¯ããšããŠãªãªãŒã¹ãããŸãããã2015 幎ã«ãã®ããŒã« ã»ãã㯠GitLab 8.0 ã«çµ±åãããŸããã åäžã® GitLab CI/CD ãµãŒããŒã¯ 25000 ãè¶ ãããŠãŒã¶ãŒããµããŒãã§ããŸãã ãã®ãããªãµãŒããŒã«åºã¥ããŠãå¯çšæ§ã®é«ãã·ã¹ãã ãæ§ç¯ã§ããŸãã
GitLab CI/CD ãšã¡ã€ã³ã® GitLab ãããžã§ã¯ã㯠Ruby ãš Go ã§æžãããŠããŸãã ããã㯠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 ããŒã«ã® XNUMX ã€ã§ãã ãã®ãããžã§ã¯ãã¯é«å質ã®ããã¥ã¡ã³ãã«ãã£ãŠåºå¥ããããã®æ©èœã¯äœ¿ãããããŠäŸ¿å©ã§ãã GitLab CI/CD ã«ãŸã æ £ããŠããªãå Žåã¯ããã®ããŒã«ã®æ©èœã®æ¬¡ã®ãªã¹ããåç §ãããšããã®ããŒã«ããäœãæåŸ ã§ãããã«ã€ããŠã®äžè¬çãªã¢ã€ãã¢ãåŸãããŸãã ãããã®æ©èœã®å€ãã¯ãGitLab CI / CD ãçµ±åãããŠãã GitLab ãã©ãããã©ãŒã èªäœã«é¢é£ããŠããããšã«æ³šæããŠãã ããã
â1. 人æ°
GitLab CI/CD ã¯ãåºã䜿çšãããŠããæ¯èŒçæ°ããããŒã«ã§ãã GitLab CI/CD ã¯ãèªåãã¹ããšãœãããŠã§ã¢ ãããã€ã¡ã³ãã«äœ¿çšããã CI/CD ããŒã«ãšããŠåŸã ã«äººæ°ãé«ãŸã£ãŠããŸãã ã»ããã¢ããã¯ç°¡åã§ãã ããã¯ãGitLab ãã©ãããã©ãŒã ã«çµã¿èŸŒãŸããŠããç¡æã® CI/CD ããŒã«ã§ããããŸãã
â2. GitLab Pages ãš Jekyll ã®ãµããŒã
Jekyll ã¯ãGitLab ãªããžããªã«åºã¥ããŠãµã€ããäœæããããã« GitLab Pages ã·ã¹ãã å
ã§äœ¿çšã§ããéçãµã€ã ãžã§ãã¬ãŒã¿ãŒã§ãã ã·ã¹ãã ã¯ãœãŒã¹çŽ æãååŸãããããã«åºã¥ããŠæ¢è£œã®éçãµã€ããçæããŸãã ãã¡ã€ã«ãç·šéããããšã§ããã®ãããªãµã€ãã®å€èŠ³ãšæ©èœãå¶åŸ¡ã§ããŸãã _config.yml
ããžãã«ã䜿çšã
â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 ã䜿çšã㊠GitLab ã«åºã¥ã㊠CI / CD ãã€ãã©ã€ã³ãç·šæã§ããŸãã
Jenkins ãš GitLab CI/CD ã®æ¯èŒ
Jenkins ãš GitLab CI/CD ã¯éåžžã«åªããããŒã«ã§ãããã©ã¡ãã CI/CD ãã€ãã©ã€ã³ãã¹ã ãŒãºã«å®è¡ã§ããŸãã ããããããããæ¯èŒããŠã¿ããšãå€ãã®ç¹ã§äŒŒãŠããŸãããããã€ãã®ç¹ã§ç°ãªã£ãŠããããšãããããŸãã
ç¹æ§è©äŸ¡
ãžã§ã³ãã³ãº
GitLab CI / CD
ãªãŒãã³ãœãŒã¹ãã¯ããŒãºããœãŒã¹ã
ãªãŒãã³ãœãŒã¹
ãªãŒãã³ãœãŒã¹
ã€ã³ã¹ããŒã«
å¿
é ã
ãã㯠GitLab ãã©ãããã©ãŒã ã®çµã¿èŸŒã¿æ©èœã§ãããããå¿
èŠãããŸããã
ãŠããŒã¯ãªæ©èœ
ãã©ã°ã€ã³ã®ãµããŒãã
ããŒãžã§ã³ç®¡çã·ã¹ãã ãžã®ç·å¯ãªçµ±åã
ãµããŒã
è¡æ¹äžæã§ãã
å©çšå¯èœã
ã€ã³ã¹ããŒã«ãšæ§æ
å°é£ã¯åŒãèµ·ãããªã
å°é£ã¯åŒãèµ·ãããªã
ã·ã¹ãã ã®èªå·±å±é
ãããã·ã¹ãã ã䜿çšããå¯äžã®æ¹æ³ã§ãã
ãµããŒããããŠããŸãã
CI/CD ãã€ãã©ã€ã³ã®äœæ
Jenkins Pipeline ã䜿çšããŠãµããŒããããŸãã
ãµããŒããããŠããŸãã
ã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ç£èŠ
è¡æ¹äžæã§ãã
å©çšå¯èœã
çæ
ç³»
ãã©ã°ã€ã³ã¯1000以äžãããŸãã
ãã®ã·ã¹ãã 㯠GitLab å
ã§éçºãããŠããŸãã
API
é«åºŠãªAPIã·ã¹ãã ããµããŒãããŸãã
ãããžã§ã¯ããžã®ããæ·±ãçµ±åã®ããã® API ãæäŸããŸãã
JavaScriptã®ãµããŒã
å©çšå¯èœã
å©çšå¯èœã
ä»ã®ããŒã«ãšã®çµ±å
ä»ã®ããŒã«ããã©ãããã©ãŒã ãšã®çµ±åããµããŒããããŠããŸã (SlackãGitHub)ã
ãµãŒãããŒã㣠ã·ã¹ãã ãç¹ã« GitHub ã Kubernetes ãšçµ±åããããã®ããŒã«ãå€æ°ãããŸãã
ã³ãŒãã®å質管ç
ãµããŒããããŠããŸã - SonarQube ãã©ã°ã€ã³ããã³ãã®ä»ã®ãã©ã°ã€ã³ã䜿çšããŸãã
ãµããŒããããŠããŸãã
Jenkins ãš GitLab CI/CD ã®éã
Jenkins ãš GitLab CI/CD ã«ã€ããŠèª¬æãæ¯èŒããŸããã次ã«ããããã® DevOps ããŒã«ã®éãã«çŠç¹ãåœãŠãŸãããã ãããã®éããç解ãããšããããã®ããŒã«ã®äžæ¹ãä»æ¹ããã奜ã人ãç解ããã®ã«åœ¹ç«ã¡ãŸãã
- GitLab CI/CD 㯠Git ãªããžããªãå®å šã«å¶åŸ¡ã§ããŸãã ããã§ã¯ããªããžã㪠ãã©ã³ããšãã®ä»ã®æ©èœã®ç®¡çã«ã€ããŠèª¬æããŸãã ãã ããJenkins ã¯ãªããžããªãæäœã§ããŸãããGitLab CI/CD ãšåãã¬ãã«ã§ãªããžããªãå¶åŸ¡ããããšã¯ã§ããŸããã
- Jenkins ã¯ç¡æã®ãªãŒãã³ãœãŒã¹ ãããžã§ã¯ãã§ãã ãããéžæãã人ãç¬èªã«å±éããŸãã GitLab CI / CD 㯠GitLab ãã©ãããã©ãŒã ã«å«ãŸããŠãããã¿ãŒã³ã㌠ãœãªã¥ãŒã·ã§ã³ã§ãã
- GitLab CI/CD ã¯ããããžã§ã¯ã ã¬ãã«ã§æ©èœããé«åºŠãªã¿ã¹ã¯ç®¡çããŒã«ããµããŒãããŠããŸãã ãžã§ã³ãã³ã¹ã®ãã®åŽé¢ã¯ããŸãéçºãããŠããŸããã
Jenkins ãš GitLab CI/CD: é·æãšçæ
ããã§ãJenkins ãš GitLab CI/CD ã«ã€ããŠããçšåºŠç解ã§ããŸããã ããã§ããããã®ããŒã«ã«ã€ããŠããã«è©³ããç¥ãããã«ããã®é·æãšçæãèŠãŠã¿ãŸãããã å¿ èŠãªããŒã«ããã§ã«æ±ºãŸã£ãŠããããšãåæãšããŠããŸãã ãã®ã»ã¯ã·ã§ã³ãããªãèªèº«ã®ãã¹ãã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸãã
âãžã§ã³ãã³ã¹ã®åŒ·ã¿
- ãã©ã°ã€ã³ã®æ°ãè±å¯ã
- ããŒã«ã®ã€ã³ã¹ããŒã«ãå®å šã«å¶åŸ¡ããŸãã
- ã©ã³ããŒã®ç°¡åãªãããã°ã
- ããŒãã®ã»ããã¢ãããç°¡åã
- ã³ãŒãã®å±éãç°¡åã
- éåžžã«åªããèªèšŒæ å ±ç®¡çã·ã¹ãã ã
- æè»æ§ãšå€çšéæ§ã
- ããŸããŸãªããã°ã©ãã³ã°èšèªã®ãµããŒãã
- ãã®ã·ã¹ãã ã¯çŽæçãªã¬ãã«ã§ç解ã§ããŸãã
âãžã§ã³ãã³ã¹ã®åŒ±ç¹
- ãã©ã°ã€ã³ã¯äœ¿ãæ¹ãé£ããå ŽåããããŸãã
- å°èŠæš¡ãããžã§ã¯ã㧠Jenkins ã䜿çšããå Žåãèªåã§æ§æããã®ã«å¿ èŠãªæéãäžåœã«é·ããªãå¯èœæ§ããããŸãã
- CI/CD ãã§ãŒã³ã«é¢ããäžè¬çãªåææ å ±ãäžè¶³ããŠããŸãã
âGitLab CI/CDã®åŒ·ã¿
- Dockerãšã®åªããçµ±åã
- ã©ã³ããŒã®ç°¡åãªã¹ã±ãŒãªã³ã°ã
- CI/CD ãã€ãã©ã€ã³ã®ã¹ããŒãžã®äžéšã§ããã¿ã¹ã¯ã®äžŠåå®è¡ã
- ã¿ã¹ã¯é¢ä¿ãèšå®ãããšãã«æåéå·¡åã°ã©ã ã¢ãã«ã䜿çšããŸãã
- ã©ã³ããŒã®äžŠåå®è¡ãå¯èœãªãããé«ãã¬ãã«ã®ã¹ã±ãŒã©ããªãã£ãå®çŸããŸãã
- ã¿ã¹ã¯ã®è¿œå ãç°¡åã
- ã·ã³ãã«ãªç«¶å解決ã
- å®å¿ã®ã»ãã¥ãªãã£ã·ã¹ãã ã
âGitLab CI/CDã®åŒ±ç¹
- ã¿ã¹ã¯ããšã«ãã¢ãŒãã£ãã¡ã¯ãã説æããã¢ããããŒã/ããŠã³ããŒãããå¿ èŠããããŸãã
- ãã©ã³ããå®éã«ããŒãžããåã«ããã©ã³ãã®ããŒãžçµæããã¹ãããããšã¯ã§ããŸããã
- CI / CD ãã€ãã©ã€ã³ã®ã¹ããŒãžã説æããå Žåããã®äžã®åã ã®ã¹ããŒãžãç¹å®ããããšã¯ãŸã ã§ããŸããã
çµæ
Jenkins ãš GitLab CI/CD ã«ã¯ã©ã¡ãã«ãé·æãšçæããããŸãã äœãéžæããããšãã質åã«å¯Ÿããçãã¯ãç¹å®ã®ãããžã§ã¯ãã®ããŒãºãšç¹æ§ã«ãã£ãŠç°ãªããŸãã ä»åã¬ãã¥ãŒããå CI/CD ããŒã«ã«ã¯ç¹å®ã®æ©èœããããŸããããããã®ããŒã«ã¯åãåé¡ã解決ããããã«äœæãããŸããã åæã«ãJenkins ã¯ã¹ã¿ã³ãã¢ãã³ ããŒã«ã§ãããGitLab CI / CD ã¯ã³ãŒãäžã§å ±åäœæ¥ããããã«èšèšããããã©ãããã©ãŒã ã®äžéšã§ãã
CI / CD ã·ã¹ãã ãéžæãããšãã¯ããã®æ©èœã«å ããŠãããã«é¢é£ããå¯èœæ§ã®ããã³ã¹ããããã³ãããžã§ã¯ãããµããŒããã DevOps ãšã³ãžãã¢ãã©ã®ãããªäœæ¥ã«æ £ããŠããããèæ ®ãã䟡å€ããããŸãã
ã©ã®ãã㪠CI/CD ããŒã«ã䜿çšããŠããŸãã?
åºæïŒ habr.com