GitLabã®ã³ã©ãã¬ãŒã·ã§ã³æè¡ãGitOpsã«äžå¯æ¬ ãªçç±ïŒãã¢
GitLabãªã©ã®ã³ã©ãã¬ãŒã·ã§ã³ãœãããŠã§ã¢ã«ãããGitOpsã¯ãŒã¯ãããŒã¯ããã·ã³ãã«ã«ãªããŸãã ãã®èšäºã«ã¯ãGitLabãã³ã©ãã¬ãŒã·ã§ã³ãéããŠGitOpsã匷åããæ¹æ³ã®ãã¢ãå«ãŸããŠããŸãã
GitOpsãšã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ã®æ§ç¯ãšã¢ããªã±ãŒã·ã§ã³ã®ãããã€ã«äœ¿çšããããã¹ãŠã®ã³ãŒãã®ä¿¡é Œã§ããå¯äžã®æ å ±æºãšããŠãGitãªããžããªã䜿çšããããšãæããŸããGitãªã©ã®ããŒãžã§ã³ç®¡çã·ã¹ãã ãä¿¡é Œã§ããå¯äžã®æ å ±æºãšããŠäœ¿çšããããšã§ããšã³ãžãã¢ã¯ã¢ããªã±ãŒã·ã§ã³ã®åºç€ãšãªããœãŒã¹ã³ãŒããç¶ç¶çãªããªããªãŒã®åœ¢åŒã§æŽæ°ã§ããŸãã
ããŒãžã§ã³ç®¡çã·ã¹ãã ã¯ãææžåãšå¯èŠæ§ã確ä¿ããç£æ»èšŒè·¡ã«ããã³ã³ãã©ã€ã¢ã³ã¹ã«æºæ ã§ããããã«ãããã®ã§ããGitOpsã䜿çšãããšå€æŽãç°¡åã«å ã«æ»ãããšãã§ããã»ããææ°ã®æ å ±ã«ã¢ã¯ã»ã¹ã§ããåäžã®å ŽæãæäŸãããããããœãããŠã§ã¢éçºããŒã ãšãªãã¬ãŒã·ã§ã³ããŒã ã®äž¡æ¹ã®èгç¹ããããŒã ãçŸåšã®ç¶æ ãææ¡ãããããªããŸãã
GitLabã¯DevOpsã®ã©ã€ããµã€ã¯ã«å šäœã«ãããåäžã®ã¢ããªã±ãŒã·ã§ã³ã§ãããã³ã©ãã¬ãŒã·ã§ã³ãã©ãããã©ãŒã ãšããŠã®åœ¹å²ãæãããã¹ããŒã¯ãã«ããŒãã³ãŒãå¶äœããã»ã¹ã«é¢äžã§ããããã«ããŸãã ã€ã³ãã©ã¹ãã©ã¯ãã£ãéçºããŒã ãã»ãã¥ãªãã£ãããžãã¹ã®ã¹ããŒã¯ãã«ããŒã«è³ããŸã§ãéçºã©ã€ããµã€ã¯ã«å šäœã«ãããããŒã ã¯ã³ãŒããè¿ éãã€å¹ççã«åºè·ããããã«ã³ã©ãã¬ãŒã·ã§ã³ããã·ãŒã ã¬ã¹ãªæ¹æ³ãå¿ èŠãšããŠãããããã³ã©ãã¬ãŒã·ã§ã³ã¯GitOpsããã»ã¹ã«ãããŠéèŠãªåŽé¢ã§ãã
GitOpsã¯ã³ãŒãã«ãšã©ãŸããã³ã©ãã¬ãŒã·ã§ã³ãæ¯ãã圹å²ãæãããGitLabã¯ãã¹ãŠã®ããŒã ãåäžã®ãã©ãããã©ãŒã ã§äœæ¥ã§ããããã«ããŸãã
èšäºã®ãã以éã®éšåã«ã¯ãGitLabãã³ã©ãã¬ãŒã·ã§ã³ãéããŠGitOpsã匷åããæ¹æ³ã®ãã¢ãå«ãŸããŠããŸãããã®ãã¢ã§ã¯ãåŸã®ã»ã¯ã·ã§ã³ã§ãªã³ã¯ãããŠãããšããã¯ãšã€ã·ã¥ãŒã®äŸãåãäžããŸãã
ãšããã¯ã䜿çšãããããžã§ã¯ãã®èšç»
GitOpsã¯ããŒãžã§ã³ç®¡çãäžå¿ãšãããããã€ã§ãããããæåã®ã¹ããããšããŠãããžã§ã¯ãã®ã¹ã³ãŒããå®çŸ©ããã¹ããŒã¯ãã«ããŒãç¹å®ããŸããæ¬¡ã«ããŒã ã¡ã³ããŒã¯ãã³ãŒãã£ã³ã°ãã³ãŒããšããŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã®å€æŽãã¬ãã¥ãŒããŠæçµçã«æ¬çªç°å¢ã«ãããã€ããå¿ èŠããã倿Žãªã©ããããžã§ã¯ããå®çŸããããã«å¿ èŠãªãã®ä»ã®æ å ±ãå ±æã§ããŸãã
ããŒã ã¯é¢é£ãããªããžããªã§ãšããã¯ãéããããŒã ã¯èª¬æã«ç®æšãšã¿ã¹ã¯ã远å ã§ããŸãããšããã¯ã䜿çšãããšãããŒã ã¯ããŸããŸãªãããžã§ã¯ããšãã€ã«ã¹ããŒã³ã®ã€ã·ã¥ãŒã远跡ã§ããŸããã€ã·ã¥ãŒã¯GitLabã§ã¢ã€ãã¢ãå ±æããäœæ¥ãèšç»ããããã®äž»èŠãªã¡ãã£ã¢ã§ãã
ãšããã¯ãšã€ã·ã¥ãŒã®äŸ
ã¯ã©ãŠãã®ã¹ã±ãŒã«ãšãããã®ãšããã¯ã®äŸã§ã¯ãGitLabã§Kubernetesã¯ã©ã¹ã¿ãŒãã¹ã±ãŒã«ã¢ããããèåŸã«ããããã»ã¹ã確èªã§ããŸããGitLabã¯ãã«ãã¯ã©ãŠãã§ãããããKubernetesã¯ã©ã¹ã¿ãŒãååºæã®ç°å¢ã«ãããã€ããããã«å¿ èŠãªãã®ãæç¢ºã«ãããã¢ã«ã¯Azure (AKS)ãGoogle (GKE)ãAmazon (EKS)ã®3ã€ã®åå¥ã®ã€ã·ã¥ãŒããããŸãã
GitLabã§ã³ã©ãã¬ãŒã·ã§ã³ãšéææ§ãé«ãã
ãšããã¯ã¬ãã«ã§ã¯ãããŒã ã¯EKSã¯ã©ã¹ã¿ãŒå ã§ã®ã¹ã±ãŒã«ã®ã€ã·ã¥ãŒããã§ã«å®äºããŠããããšã確èªã§ããŸããã€ã·ã¥ãŒãã¯ãªãã¯ãããšãã€ã·ã¥ãŒã«æŠèª¬ãããã¿ã¹ã¯ããããŒãžãªã¯ãšã¹ããäœæãããMRããã§ã«ããŒãžãããŠããããšãããããŸãã
å ã®ã³ãŒããšçŸåšã®ã³ãŒãã®éã§æ£ç¢ºã«äœã倿Žããããã確èªããã«ã¯ãMRãã¯ãªãã¯ããŸãããããããããŒã ã¯ããŒãžã®å/åŸã«åæ Œãããã¹ãŠã®ãã¹ãã確èªãã倿Žãç¹å®ããããã«ã³ã¡ã³ãå±¥æŽãåç §ãã誰ãã³ãŒããæ¿èªããŠããŒãžããããã¡ã¢ã§ããŸãã
GKEãžã®ã¹ã±ãŒã«ã®ã€ã·ã¥ãŒã¯ãŸã å®äºããŠããŸãããããŒãžãªã¯ãšã¹ãã¯é²è¡äžã®äœæ¥ïŒWIPïŒã®ãŸãŸã§ããããããŸã äœã倿ŽãããŠããŸãããTerraformã®MRã«ã¯ããããã€ã®ããã®GKEç°å¢ãæºåããããã«ããŒãæ°ã2ã€ã®ããŒããã5ã€ã®ããŒãã«å€æŽããå¿ èŠãããããšã瀺ãããŠããŸããMRã®æ¿èªè ããWIPã¹ããŒã¿ã¹ã®è§£æ±ºããã¯ãªãã¯ããŠãã€ãã©ã€ã³ãéå§ãããšããœãŒã¹ãã©ã³ããåé€ããŠæŽæ°ãããããŒãæ°ãçµ±åã§ããŸãã
GitLabã广çãªã³ã©ãã¬ãŒã·ã§ã³ããŒã«ãšããŠäœ¿çšããããã«ã¯ãéææ§ãå¿ èŠã§ãããã®ãããçµç¹å ã®å šå¡ãããã©ã«ãã§ã€ã·ã¥ãŒãšé¢é£ããMRã確èªã§ããå¿ èŠããããŸããã€ã·ã¥ãŒãšMRã¯ãå ±åäœæ¥è ã«å²ãåœãŠãããã³ã¡ã³ãã»ã¯ã·ã§ã³ã§å ±åäœæ¥è ã«ã¿ã°ãä»ããŠTo Doãªã¹ãã«è¿œå ã§ããŸããã¹ããŒã¯ãã«ããŒããããžã§ã¯ãã®é²æç¶æ³ã確èªããããã«ãã䜿çšããããšããã¯ãã¥ãŒã«æ»ããšãããŒã ã¯GKEã5ã€ã®ããŒãã«ã¹ã±ãŒãªã³ã°ããããã®ãããã€ãé²è¡äžã§ããããšã確èªã§ããŸãã
GitLabãGitOpsã¯ãŒã¯ãããŒã«äœ¿çšãããšããã¹ãŠã®ããŒã ã¡ã³ããŒãåãã·ã¹ãã ã§äœæ¥ãããããžã§ã¯ãã®ã¹ããŒã¿ã¹ãææ¡ã§ããããã«ãªããŸããã€ã³ãã©ã¹ãã©ã¯ãã£ã§ãã¢ããªã±ãŒã·ã§ã³ã§ãããã¹ãŠã®å€æŽã¯äœæ¥æ¬äœãå®çŸ©ãããããå人ã«å²ãåœãŠãããŒã ã¡ã€ããšååãããã®ã³ãŒãããããã€ããGitãªããžããªãä¿¡é Œã§ããå¯äžã®æ å ±æºãšããŠäœ¿ããšããåãããã»ã¹ããã©ããŸãã
ãã©ãŒãã¥ã³100äŒæ¥ã®50%以äžãGitLabãä¿¡é Œ
ããåªãããœãããŠã§ã¢ãããéãæäŸ
ã€ã³ããªãžã§ã³ããªDevSecOpsãã©ãããã©ãŒã ã§
ããŒã ã®å¯èœæ§ãåºããŸãããã