JavaScriptã®SASTãµããŒã
Static Application Security TestingïŒSASTïŒã®ãããã§ãGitLabã¯ã³ãŒããã¹ãã£ã³ãããã€ãã©ã€ã³ã§ãæœåšçãªè匱æ§ãæ€åºããã®ã«åœ¹ç«ã¡ãŸãã ãªãªãŒã¹11.8ã§ã¯ãnode.jsã®æ¢åã®ãµããŒãã«åºã¥ããŠã ãµããŒããããŠããSASTã®ãªã¹ãã«JavaScriptèšèªãè¿œå ããŸãã ããã§ãJavaScriptãã¡ã€ã«ãéçã¹ã¯ãªãããHTMLãã¹ãã£ã³ã§ããŸãã çŸåšãDevSecOpsã®éèŠãªãã©ã¯ãã£ã¹ã¯ãã³ããããããã³ã«å€æŽãã¹ãã£ã³ããããšã§ãããã®SASTã¢ããããŒãã§ã¯ãæã人æ°ã®ããWebèšèªã®1ã€ãã«ããŒãããŠãŒã¶ãŒãJavaScriptã³ãŒãã®ãªã¹ã¯ãæ©æã«æ€åºã§ããããã«ããŸãã
ãµãã°ã«ãŒãããã³ããŒãžãã³ãã¬ãŒãçšã®GitLabããŒãž
GitLab Pagesã¯ã次ã®2ã€ã®æ¹åã«ããããã®ãªãªãŒã¹ã§å€§å¹ ã«æ¹åãããŸããã ãŸãã ãµãã°ã«ãŒãã®ãããžã§ã¯ãã«GitLab Pagesã®ãµããŒããè¿œå ããŸããããã®ãããªãããžã§ã¯ãã§ã¯ãã³ã³ãã³ãããããã¯ãŒã¯ã«ç°¡åã«å ¬éã§ããŸãã 次ã«ãGitLab 11.8ã«ã¯Pagesã®æã人æ°ã®ãããã³ãã¬ãŒããå«ãŸããããã«ãªã£ããããã¯ã³ã¯ãªãã¯ã§Pagesã®æäœãéå§ã§ããŸãã
Sentryã®ãã°è¿œè·¡
ãšã©ãŒã«ãããã¢ããªã±ãŒã·ã§ã³ã®ç¶æ ãè©äŸ¡ã§ãããŠãŒã¶ãŒãå ±åããåã«åé¡ãæ€åºã§ããŸãã GitLab 11.8ã¯ãããžã§ã¯ãå ã®æè¿ã®ãšã©ãŒã衚瀺ã§ããããã«ãªããæ€åºãšä¿®æ£ã容æã«ãªããŸããã
ããã«å€ãã®ã¯ãŒã«ãªæ©èœïŒ
ãã®ãªãªãŒã¹ã«ã¯éåžžã«å€ãã®åªããé©æ°ããããŸãã®ã§ãããã«ããã€ãã匷調ããããšæããŸãã
- ããŒãžãªã¯ãšã¹ãã®ç¢ºèªã«ãŒã« ïŒGitLabã®ãã·ã¢èªçãããŒãžãªã¯ãšã¹ããïŒã ããã§ãç¹å®ã®ãŠãŒã¶ãŒãã°ã«ãŒãããŸãã¯ããŒã«ãªã©ãå€æŽã確èªããã«ãŒã«ãç°¡åã«èšå®ã§ããŸãã ãŸããªããã®æ©èœã¯GitLab.comã«è¡šç€ºããããŠãŒã¶ãŒã€ã³ã¹ã¿ã³ã¹ã§ã¯GitLabã¯ç®¡çè ã«ãã£ãŠæ¢ã«æ¥ç¶ãããŠããŸãã
- ç°å¢çšã®ãã©ã°ã€ã³æ©èœ ã 以åã¯æ¥ç¶ãããŠããæ©èœããã¹ãŠã®ç°å¢ã§åæã«æ©èœããŠããŸããããç¹å®ã®ç°å¢å ã§äœ¿çšã§ããããã«ãªããŸããã ãã®æ©èœã¯ãã§ã«GitLab.comã§æ©èœããŠããã管çè ã¯ãŠãŒã¶ãŒã€ã³ã¹ã¿ã³ã¹ã«å¯ŸããŠæå¹ã«ããããšãã§ããŸãã
- ã¡ãã»ãŒãžãçµåãããšãã®ã¡ãã»ãŒãžãžã®ããŒãžã®æ¹åïŒã¹ã«ãã·ã¥ïŒ ã ã³ãããã«å¯ŸããŠé©åãªã¡ãã»ãŒãžãäœæããããšãããšãã³ããããããŒãžãããšãã«ãããã倱ãã®ã¯æ®å¿µã§ãã ãªãªãŒã¹11.8ã§ã¯ããã¹ãŠã®ã³ãããããã®ã³ããããçµåãããšãæåã®è€æ°è¡ã¡ãã»ãŒãžãèªåçã«ååŸãããŸãã ãŸããã¡ãã»ãŒãžãæåã§èšå®ããããšãã§ããŸãã
ç§ãã¡ã¯ããªããäŒè°ã«æåŸ ããŸã
ä»æã®MVP- ã¢ãŒãã³ãŠã©ãŒã«ãŒ
Walkafwalkaã¯ããã®ãªãªãŒã¹ã§Auto DevOpsã®2ã€ã®æ°æ©èœãè¿œå ããŸããã ã«ã¹ã¿ã ãã¡ã€ã³ã®ãµããŒããšã ã¢ããªã±ãŒã·ã§ã³ã·ãŒã¯ã¬ããã®æŽæ°æã®åãããã€ã§ã ã ãããã®çŽ æŽãããæ¹åã«æè¬ããŸãïŒ
GitLab 11.8ã®ãªãªãŒã¹ã®äž»ãªæ©èœ
JavaScriptã®SASTãµããŒã
ïŒç©¶æ¥µããŽãŒã«ãïŒ
éçã¢ããªã±ãŒã·ã§ã³ã»ãã¥ãªãã£ãã¹ãïŒSASTïŒã䜿çšãããšããªããžããªã«å€æŽãéä¿¡ãããã³ã«ã³ãŒãå ã®è匱æ§ãèŠã€ããããšãã§ããŸãã ããŒãžãªã¯ãšã¹ãã§ãã®æ å ±ãå©çšã§ããã®ã§ãæåã«ã»ãã¥ãªãã£ãåŠçããå®å®ãã©ã³ãã«è¿œå ãããåã§ãã£ãŠãåé¡ãæ€åºã§ããŸãã
11.8ã®ãªãªãŒã¹ã§ã¯ãSASTããµããŒãããèšèªã®ãªã¹ãã«JavaScriptãè¿œå ããŸãã ãã€ãã©ã€ã³ãå€æŽããå¿ èŠã¯ãããŸãããJavaScriptãããžã§ã¯ãã¯èªåçã«æ€åºãããã»ãã¥ãªãã£ã®è匱æ§ãåæãããŸãã Auto DevOpsã®äžéšã§ããããŸãã
SASTã®ããã¥ã¡ã³ããšå ã®ãã±ãã ã
Sentryã®ãã°è¿œè·¡
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ã¢ããªã±ãŒã·ã§ã³ãçæãããšã©ãŒã远跡ããããšã§ã質ã®é«ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãäœæããã³ç¶æãããŠãŒã¶ãŒãæ°ä»ãåã«åé¡ãæ€åºã§ããŸãã åæã«ãæ°ããªåé¡ã®è§£æ±ºãã¹ããŒãã¢ããããŸãã
GitLab 11.8ã¯ã人æ°ã®ããSentryãªãŒãã³ãœãŒã¹ãã©ãã«ãŒãçµ±åããææ°ã®ãã°ãGitLabãããžã§ã¯ãã«è¡šç€ºããããšã«ããããšã©ãŒè¿œè·¡ãããç解ããããå¹ççã«ããŸãã
Sentryã¯æè¿ãåé¡ã®ã³ãããã®æ€åºãã³ããããšãªãªãŒã¹ã®è¿œè·¡ãªã©ãè¿œå ããããšã«ãããGitLabãšã®çµ±åãæ¹åããŸãã ã çžäºçµ±åã®ãããã§ãGitLabãä»ããŠSentryã§ç°¡åã«äœæ¥ã§ãããã®éãåæ§ã§ãããŸããã¯ãŒã¯ãããŒã®ã³ã³ããã¹ãå ã§åé¡ã解決ã§ããŸãã
远跡ãšã©ãŒãšå ã®ãã±ãã ã«é¢ããããã¥ã¡ã³ã ã
ãã³ãã¬ãŒãã䜿çšããŠã¯ã³ã¯ãªãã¯ã§ããŒãžãäœæ
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
GitLab 11.8ã«ã¯Pagesã®æã人æ°ã®ãããã³ãã¬ãŒããå«ãŸããããã«ãªã£ãããã以åã®ããã«ãã³ãã¬ãŒããªããžããªãç¶æ¿ããã®ã§ã¯ãªããæ°ãããããžã§ã¯ããäœæãããšãã«ããã«ããŒãžãäœæã§ããŸãã
GitLab Pagesãã³ãã¬ãŒãã®äœ¿çšã«é¢ããããã°æçš¿ãã芧ãã ãã ã
GitLab Pagesã®ããã¥ã¡ã³ããšå ã®ãã±ãã ã
ãµãã°ã«ãŒãã®ããŒãžãµããŒã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ãŸãããµãã°ã«ãŒãå
ã®ãããžã§ã¯ãã®ããŒãžã䜿çšããŠãµã€ããäœæã§ããããã«ãªããŸããã ãã®æ¹æ³ã§äœæããããµã€ãã«ã¯ã toplevel-group.gitlab.io/subgroup/project
圢åŒã®URLããããŸãã ããã§ããµãã°ã«ãŒãã«å±ããŠãããããžã§ã¯ããå«ãããã¹ãŠã®ãããžã§ã¯ãã«ã€ããŠããœãããŠã§ã¢ã®ãªãªãŒã¹ã«å¿
èŠãªããã¥ã¡ã³ããŸãã¯ä»ã®ããŒãžãäœæã§ããŸãã
GitLab Pages管çããã¥ã¡ã³ããšå ã®ãã±ãã ã
ãªã¯ãšã¹ã確èªã«ãŒã«ã®ããŒãž
ïŒãã¬ãã¢ã ãã¢ã«ãã£ã¡ã€ããã·ã«ããŒããŽãŒã«ãïŒ
ã³ãŒãã¬ãã¥ãŒã¯ãããžã§ã¯ããæåãããããã®åºæ¬çãªãã©ã¯ãã£ã¹ã§ãããå€æŽã®ã¬ãã¥ãŒã誰ãå®æœãã¹ããã¯å¿ ãããæ確ã§ã¯ãããŸããã å€ãã®å ŽåãããŸããŸãªåŽé¢ïŒéçºãã»ãã¥ãªãã£ã䜿ããããã補åèªäœãªã©ïŒãæ åœããè€æ°ã®ã¬ãã¥ãŒæ åœè ãå¿ èŠã§ãã
GitLab 11.8ãªãªãŒã¹ã§ã¯ãããŒãžãªã¯ãšã¹ãã確èªããããã®ã«ãŒã«ãæ瀺ããŸããããã«ãããå¿ èŠãªç¢ºèªãšç¢ºèªã®æå°æ°ã決å®ã§ããŸãã 確èªã«ãŒã«ã¯ããŒãžãªã¯ãšã¹ããŠã£ãžã§ããã«è¡šç€ºãããããã次ã®ã¬ãã¥ãŒæ åœè ãå²ãåœãŠãã®ã¯éåžžã«ç°¡åã§ãã
GitLab 11.3ã§ã¯ãã³ãŒãã®ããŸããŸãªéšåã®è²¬ä»»è ã決å®ããããã«ãã³ãŒãææè ïŒ å ã®èšäº ã 翻蚳 ïŒã®åœ¹å²ãå°å ¥ããŸããã ã³ãŒãã®ææè ã¯æ€èšŒã«ãŒã«ã§ãã§ã«èæ ®ãããŠãããããå€æŽãã¬ãã¥ãŒããé©åãªäººãèŠã€ããã®ã¯ç°¡åã§ãã
ããã©ã«ãã§ã¯ã確èªã«ãŒã«ã¯ç¡å¹ã«Feature.enable(:approval_rules)
ãŠããŸãããã€ã³ã¹ã¿ã³ã¹ç®¡çè
ã¯Railsã³ã³ãœãŒã«ã§Feature.enable(:approval_rules)
ã³ãã³ãFeature.enable(:approval_rules)
ã«ã§ããŸãã GitLab.comã§ã¯ã確èªã«ãŒã«ãäžæçã«ç¡å¹ã«ãªã£ãŠããŸãããGitLab 11.8.1ã®ãªãªãŒã¹ã§ç¢ºèªã«ãŒã«ãå床æå¹ã«ããäºå®ã§ãã ã¢ããããŒãã®ããã«ãã®ãã±ãããã楜ãã¿ã«ã
ããŒãžãªã¯ãšã¹ããšå ã®ãã±ãã ã確èªããããã®ã«ãŒã«ã«é¢ããããã¥ã¡ã³ã ã
ãããžã§ã¯ãéãã€ãã©ã€ã³ã®æ¹åãããããªã¬ãŒ
ïŒãã¬ãã¢ã ãã¢ã«ãã£ã¡ã€ããã·ã«ããŒããŽãŒã«ãïŒ
GitLab 9.3ã®ãªãªãŒã¹ïŒ å
ã®èšäº ã 翻蚳 ïŒã§ã¯ãäœæ¥äžã«GitLab APIãåŒã³åºããŠæ¬¡ã®ãã€ãã©ã€ã³ãéå§ããããšã«ããã ãããžã§ã¯ãéãã€ãã©ã€ã³ãäœæããæ©èœãè¿œå ãããŸããã ãªãªãŒã¹11.8ã§ã¯ã trigger:
ããŒã¯ãŒãã®ãããã§ãããã®ãã€ãã©ã€ã³ã®èµ·åãæ¹åãããŸãããããã¯ããã€ãã©ã€ã³ã«åå ããäœæ¥ã«è¿œå ã§ããçŸåšã®ãã€ãã©ã€ã³ãæ£åžžã«å®äºãããšæ¬¡ã®ãã€ãã©ã€ã³ãèªåçã«éå§ããŸãã
ããŒã¯ãŒãææžããªã¬ãŒãšãªãªãžãã«ãã±ãã ã
ã³ããããžã®ã¡ãã»ãŒãžããŒãžã®æ¹å
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ã¹ããŒãªãŒãåäœãã¹ãã®ä¿®æ£ããã£ãŒãããã¯ããã®åé¡ã解決ããããã®å°ããªã³ãããã§æ§æãããŠããå Žåãèªã¿ãããæçšãªå°æ¥ã®Gitã¹ããŒãªãŒãäœæããããšã¯å°é£ã§ãã ã³ããããçµ±åãããšããã®ãããªå€æŽã1ã€ã®ã³ãããã§åéãããåæã«ãã¹ãŠã®èª¬æãåé€ãããŸãã
GitLabã¯ãæåã®è€æ°è¡ã¡ãã»ãŒãžãããŒãžãããã³ãããã¡ãã»ãŒãžãšããŠæ©èœãã©ã³ãã«é 眮ããŸãã ãŸãã¯ããã®ã¡ãã»ãŒãžãæåã§èšå®ãããã¹ãŠã®éèŠãªå€æŽãèªåã§åæ ããããšãã§ããŸãã
ããŒãžãããã³ããããšå ã®ãã±ãã ã«é¢ããããã¥ã¡ã³ã ã
ç°å¢åºæã®ãŠãŒã¶ãŒãã¡ã€ã³ã®èªåDevOpsãµããŒã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
Auto DevOpsã䜿çšãããšããããžã§ã¯ãã®ãããŒã¹ãã¡ã€ã³ããæå®ããããšã§ããããžã§ã¯ãã®äœæ¥ããã°ããéå§ã§ããŸãã ã¢ããªã±ãŒã·ã§ã³ãå®çšŒåç°å¢ã«ãããã€ããæºåãã§ãããã FQDNã®åœ¢åŒã§å¥ã®ãã¡ã€ã³ã䜿çšããããšãã§ããŸãã
ããã§ã ADDITIONAL_HOSTS
ç°å¢å€æ°ã䜿çšããŠãã¢ããªã±ãŒã·ã§ã³ã®1ã€ä»¥äžã®ãã¡ã€ã³ãå®çŸ©ã§ããŸãã ããã«ãç°å¢åãå€æ°ã«è¿œå ããããšã«ãããç¹å®ã®ç°å¢çšã«æ§æã§ããŸãïŒäŸïŒ <ENVIRONMENT>_ADDITIONAL_HOSTS
ã
ãã®æ©èœãããããšãã¢ãŒãã³ãŠã©ãŒã«ãŒ ïŒ
ç°å¢å€æ°ãšå ã®ãã±ãã ã«é¢ããããã¥ã¡ã³ã ã
ãã€ãã£ãé¢æ°ã®ã¹ã±ãŒã«
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
GitLabãä»ããŠãµãŒããŒã¬ã¹ã¢ãŒããã¯ãã£ã䜿çšããŠæ©èœãå±éããå ŽåããµãŒããŒã¬ã¹å±éã®ã¹ã±ãŒã©ããªãã£ãªã©ãKnativeã®å©ç¹ãæ倧éã«æŽ»çšã§ããŸãã
ããã§ãKnativeã€ã³ã¹ã¿ã³ã¹ã«ãããã€ãããåã¢ããªã±ãŒã·ã§ã³ãŸãã¯æ©èœã«ã€ããŠããµãŒããŒã¬ã¹ãããã€ã¡ã³ãã®èŠæš¡ã衚瀺ã§ããŸãã ã¹ã±ãŒã«ã¯ãçŸåšäœ¿çšäžã®Kubernetesã®çåºã®æ°ã瀺ããŠããŸãã
æ©èœå±éããã¥ã¡ã³ããšå ã®ãã±ãã ã
GitLab 11.8ã®ãã®ä»ã®æ¹åç¹
é±ã®æåã®ææ¥ãèšå®ãã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
以åã¯ãGitLabã®ã«ã¬ã³ããŒã¯ãé±ãæ¥ææ¥ã«å§ãŸããšèªåçã«æ³å®ããŠããŸããã èšå®ã®ãŠãŒã¶ãŒã¯æææ¥ãé±ã®æåã®æ¥ãšããŠéžæã§ããããã«ãªããŸãããããã¯ãã«ã¬ã³ããŒã䜿çšããŠæ¥ä»ãéžæããéçºãžã®è²¢ç®ã®ã¹ã±ãžã¥ãŒã«ã«åæ ãããŸãã
ãã®æ©èœãæäŸããŠãããFabian Schneiderã«æè¬ããŸãïŒ
ãŠãŒã¶ãŒèšå®ãšå ã®ãã±ãã ã«é¢ããããã¥ã¡ã³ã ã
ããŒãããããã¹ã¯ããŒã«ããŠæªæ¥ã«åãã£ãŠãéå»ã«æ»ã
ïŒç©¶æ¥µããŽãŒã«ãïŒ
ããŒãããããæåã«ããŠã³ããŒããããšããGitLabã¯ãæ¯é±ãæ¯æããŸãã¯ååæããšã®ééãéžæãããªãã·ã§ã³ã䜿çšããŠãæéãäºåã«éžæããŸãã ãã ãã以åã¯ããŒãããããã¥ãŒã¯åºå®ããããŸãŸã§ãããçŸåšã®æéå€ã®ãšããã¯ã¯é ãããŠããŸããã
ãã®ãªãªãŒã¹ãããããŒãããããåæ¹ã«ã¹ã¯ããŒã«ããŠéå»ã«æ»ãããšãã§ããŸãã ãããã®å»¶é·ãããééã«è©²åœãããšããã¯ã¯èªåçã«ãã£ãŒãã«è¡šç€ºãããŸã;ããŒãžãããã«æŽæ°ããå¿ èŠã¯ãããŸããã ããã«ãããå¿ èŠãªæéééã§ããã«å€ãã®ãšããã¯ã衚瀺ã§ããŸãã
ããŒãããããšãªãªãžãã«ãã±ãã ã«é¢ããããã¥ã¡ã³ã ã
LDAPãä»ããã¹ããŒãã«ãŒãèªèšŒ
ïŒãã¬ãã¢ã ãã¢ã«ãã£ã¡ã€ããã·ã«ããŒããŽãŒã«ãïŒ
èªèšŒããŒã¯ã³ãšããŠã¹ããŒãã«ãŒãã䜿çšããçµç¹ã¯ãLDAPã䜿çšããŠã¢ã«ãŠã³ããéäžç®¡çããããšããããããŸãã ããŒãžã§ã³11.6 ã§ã¯ãã¹ããŒãã«ãŒãèªèšŒãå°å ¥ãããŸãã ã 11.8ã§ã¯ãLDAPãµãŒããŒãä»ããèªèšŒã«ã¹ããŒãã«ãŒãããŒã¿ã䜿çšããããã®ãµããŒããè¿œå ããŠãããã«è¿œå ããŸãã
GitLabã§ã¯ã certificateExactMatch
ã«ãŒã«ã䜿çšããRFC4523æºæ ã®ã¢ãããŒãã䜿çšããŠãcertificateExactMatch
ã
ã¹ããŒãã«ãŒãèªèšŒã®ããã¥ã¡ã³ããšå ã®ãã±ãã ã
ããŸããŸãªç°å¢ã®ãã©ã°ã€ã³æ©èœ
ïŒãã¬ãã¢ã ãã¢ã«ãã£ã¡ã€ããã·ã«ããŒããŽãŒã«ãïŒ
ãã®ãªãªãŒã¹ãããç°å¢ã«å¿ããŠæ©èœãåå¥ã«åãæ¿ããããšãå¯èœã«ãªããŸããã æ©èœã®åäœã¯ãç°å¢ã®ååã®äžèŽã«åºã¥ããŠå®çŸ©ãããäžé£ã®ã«ãŒã«ã䜿çšããŠå¶åŸ¡ã§ããŸãã ããã©ã«ãã§ã¯ãã«ãŒã«ïŒ *
ïŒã¯åžžã«æ©èœããŸãããæ°ããç°å¢ä»æ§ïŒããšãã°ã review/*
ïŒãè¿œå ããŠä»ã®ã«ãŒã«ãèšå®ããããšãã§ãreview/*
ã
ããŒãžã§ã³11.8.0ã§ã¯ããã®æ©èœãæ©èœãããããã«ãRailsã³ã³ãœãŒã«ã§Feature.enable(:feature_flags_environment_scope)
ã³ãã³ãFeature.enable(:feature_flags_environment_scope)
ãå®è¡ããŠæå¹ã«ããå¿
èŠããããŸãã
ç°å¢ä»æ§ãšãªãªãžãã«ãã±ããã® ããã¥ã¡ã³ã ã
Kubernetesãšã®çµ±åã«ããGitLab Runnerã®æŽæ°
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
Kubernetesã®ææ°ããŒãžã§ã³ã§ã¢ããªã±ãŒã·ã§ã³ãå±éããå Žåããã¹ãŠã®æ°æ©èœããããã»ãã¥ãªãã£ããã¹ãŠã®èŠä»¶ãæºãããŠããããšã確èªã§ããŸãã
GitLab 11.8ã§ã¯ãKubernetesã®GitLab Rinnerãã¯ã³ã¯ãªãã¯ã§æŽæ°ã§ããŸãã å°æ¥ã®ãªãªãŒã¹ã§ã¯ããã®æ©èœãä»ã®ã¢ããªã±ãŒã·ã§ã³ã«è¿œå ããäºå®ã§ãã
ã¢ããªã±ãŒã·ã§ã³ã€ã³ã¹ããŒã«ããã¥ã¡ã³ããšãªãªãžãã«ãã±ãã ã
ãŠãŒã¶ãŒäœææéãšãŠãŒã¶ãŒã¢ã¯ãã£ããã£ã管çããã«ã«è¡šç€ºãã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
管çè
ã¯ãåçŽãªã¢ã¯ã·ã§ã³ã§ãŠãŒã¶ãŒã¢ã¯ãã£ããã£ã«é¢ããæ
å ±ãååŸããå¿
èŠããããŸãã ãã®ã¿ã¹ã¯ãæ¯æŽããããã«ã管çè
ããã«ïŒ /admin/users
ïŒã®ãŠãŒã¶ãŒé åã«ãŠãŒã¶ãŒã®äœææ¥ãšæåŸã®ã¢ã¯ãã£ããã£ã®æ¥ä»ã®è¡šç€ºãè¿œå ããŸããã
ããã§ã¯ãGitLabãã¢ã¯ãã£ããã£ãšããŠèªèããã¢ã¯ãã£ããã£ã«ã€ããŠè©³ããèªãããšãã§ããŸãã
管çè ããã³å ã®ãã±ãã çšã®ãŠãŒã¶ãŒAPIããã¥ã¡ã³ã ã
æè¿ã®ãŠãŒã¶ãŒã¢ã¯ã·ã§ã³ãæ€çŽ¢ããæ©èœ
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
GitLabã®last_activity_onãŠãŒã¶ãŒå±æ§ã䜿çšãããšã管çè ã¯æåŸã®ãŠãŒã¶ãŒã¢ã¯ãã£ããã£ããã€çºçããããããç°¡åã«å€æã§ããŸãã ã¢ã¯ãã£ãããã³éã¢ã¯ãã£ããªãŠãŒã¶ãŒãæ€çŽ¢ããã®ã«éåžžã«äŸ¿å©ã§ãã
èªã¿åãå°çšã¢ã¯ãã£ããã£ã確å®ã«ãã£ããã£ããããã«ãlast_activity_onå±æ§ãæ¡åŒµããŠãã¢ã¯ãã£ããã£ããã«ããããžã§ã¯ããã¿ã¹ã¯ãããã³ããŒãžãªã¯ãšã¹ãã«é¢é£ããããŒãžã«ã¢ã¯ã»ã¹ãããšãã«æŽæ°ããããã«ããŸããã
ã€ã³ã¹ã¿ã³ã¹ããã³å ã®ãã±ããã® çµ±èšããã¥ã¡ã³ã ã
ã¿ã°ã§ã¯ãªããããžã§ã¯ããããã¯
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ãããžã§ã¯ãã¿ã°ã¯ãé¢é£ãããããžã§ã¯ããæŽçããã®ã«äŸ¿å©ãªæ¹æ³ã§ããããã¿ã°ããšããçšèªã¯GitLabã®ã¿ã°ãšåãã§ãã ãã®åé¡ã解決ããããã«ããããžã§ã¯ãã¿ã°ã®ååããããã¯ã«å€æŽãããããžã§ã¯ã衚瀺ããŒãžã§ã®è¡šç€ºãæ¹åããŸããã
ããŒãžã§ã³11.9ã®ã¢ã¯ãã£ããã£ããã«ã§ã ãããã¯ããããžã§ã¯ãããšã«æ€çŽ¢ããéã«äŸ¿å©ã«äœ¿çšã§ããããã«ãããããã¯ã«ãããã£ã«ã¿ãªã³ã°ãè¿œå ããŸã ã
ãããžã§ã¯ãã®èšå®ãšå ã®ãã±ãã ã«é¢ããããã¥ã¡ã³ã ã
APIãä»ããŠãããžã§ã¯ãå ã®ãªããžããªã¿ã°ãæ€çŽ¢ãã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ããã§ãã¿ã°APIã䜿çšããŠãããžã§ã¯ãå ã®ãªããžããªã¿ã°ãæ€çŽ¢ã§ããŸã ã ããã«ããããããžã§ã¯ãå ã®ç¹å®ã®ã¿ã°ãçŽæ¥æ€çŽ¢ã§ããŸãã ç¹å®ã®ããŒãžã§ã³ã®ã¿ã°ã«äžèŽãããããžã§ã¯ããæ¢ããŠããå Žåãå¿ èŠãªãã®ãç°¡åã«èŠã€ããããšãã§ããŸãã
ãã®æ©èœãããããšãã ãããŒãã»ã·ãªã³ã° ïŒ
ã¿ã°ãšå ã®ãã±ãã ã«é¢ããããã¥ã¡ã³ã ã
æ å ±å¯åºŠãé«ãããããžã§ã¯ããªã¹ããã¥ãŒã®æ¹å
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ãããžã§ã¯ãã®ãªã¹ãã®æåã®æ¹åã«é¢ãããŠãŒã¶ãŒã®ãã£ãŒãããã¯ãèæ ®ãããã®ããŒãžã®æ å ±ã®å¯åºŠãé«ããå¥ã®åãè¿œå ããŠç©ºã®ã¹ããŒã¹ã®æ°ãæžãããŸããã
ãããžã§ã¯ãããã¥ã¡ã³ããšãªãªãžãã«ãã±ãã ã
æ¹åãããã°ã«ãŒããã¥ãŒããŒãž
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ããŒãžã§ã³11.8ã§ã¯ãã°ã«ãŒããã¥ãŒããŒãžã®å€èŠ³ãæŽæ°ãããããå€ãã®æ å ±ã衚瀺ãããããã«ãªããŸããã ãã®ããŒãžã®ç©ºãã¹ããŒã¹ã®æ°ãæžããããããžã§ã¯ã衚瀺ããŒãžã®æ°ããå€èŠ³ãšäžèŽããããã«ãã¶ã€ã³ãå€æŽããŸããã
ããã¯ãã°ã«ãŒã衚瀺ããŒãžãæ¹åããããã®æåã®ã¹ãããã§ãããåŒãç¶ãäœæ¥ãé²ããŠãããŸãã
ã°ã«ãŒãããã¥ã¡ã³ããšãªãªãžãã«ãã±ãã ã
ãã¹ãããããšããã¯ã管çããããã®API
ïŒç©¶æ¥µããŽãŒã«ãïŒ
åã®ãªãªãŒã¹ã§ã¯ã ãã¹ããããepics ãã€ãŸãepicsã«epicsãè¿œå ããæ©èœãè¿œå ããŸããã ãã®ãªãªãŒã¹ãããAPIãå«ããªã©ããããã®ãšããã¯éã®é¢ä¿ã管çã§ããããã«ãªããŸãã ãã®ãããèªååæ©èœã®äœ¿çšãªã©ãããŒã å ã®åã ã®ã¯ãŒã¯ãããŒã¹ã±ãžã¥ãŒã«ã管çã§ããŸãã
ãšããã¯ãšå ã®ãã±ãã éã®ãªã³ã¯ã«é¢ããAPIããã¥ã¡ã³ã ã
é¢é£ããããŒãžèŠæ±ãšãã±ããã¯ã1ã€ã®ãã¥ãŒã«ãªããŸããã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ãã±ããå ã®ãªã³ã¯ãããããŒãžãªã¯ãšã¹ãã®ã»ã¯ã·ã§ã³ãæŽæ°ããŠãé¢é£ãããã±ãããšèŠèŠçã«äžè²«æ§ãæãããçŸããããããããŸããã
å°æ¥ã®ãªãªãŒã¹ã§ã¯ããã®ã»ã¯ã·ã§ã³ã®åè¡ã«ããã«ã¡ã¿ããŒã¿ãè¿œå ããŠããŠãŒã¶ãŒãã³ã³ããã¹ãã§ããã«ããŒãžèŠæ±ã«é¢ããé¢é£æ å ±ã衚瀺ã§ããããã«ããŸãã
ããŒãžãªã¯ãšã¹ãã§ã®ãã±ãããšå ã®ãã±ãã ã®èšåã«é¢ããããã¥ã¡ã³ã ã
Auto DevOpsãã¡ã€ã³ãã£ãŒã«ããCI / CDèšå®ããã¯ã©ã¹ã¿ãŒèšå®ã«ç§»åããŸãã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
Auto DevOpsã®ããŒã¹ãã¡ã€ã³ãæå®ãããšãAuto ReviewãAuto Deployãªã©ã®åŒ·åãªæ©èœãå©çšã§ããŸãã ããã§ãããŒã¹ãã¡ã€ã³ãã¯ã©ã¹ã¿ãŒèšå®ã«çŽæ¥è»¢éããããšã§ãããŒã¹ãã¡ã€ã³ã®è¡šç€ºãç°¡çŽ åããŸããã ããã«ãããã¯ã©ã¹ã¿ãŒãäœæãããšãã«ããŒã¹ãã¡ã€ã³ãç°¡åã«æ±ºå®ããããã¯ã©ã¹ã¿ãŒããšã«ç°ãªããã¡ã€ã³ãå®çŸ©ãããã§ããŸãã
Auto DevOpsããã³å ã®ãã±ãã ã®ããŒã¹ãã¡ã€ã³ã®ã»ããã¢ããã«é¢ããããã¥ã¡ã³ã ã
APIãä»ããŠã°ã«ãŒãã©ãã«ã管çãã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ãããžã§ã¯ãã©ãã«ãšåæ§ã®APIãä»ããŠã°ã«ãŒãã©ãã«ã管çã§ããããã«ãªããŸãããããã«ãããããŒã ã®ã«ã¹ã¿ã èšç»ããã³å®è¡ã¯ãŒã¯ãããŒãããã«ãµããŒãã§ããŸãã
ãã®æ©èœãããããšãã ãããŒãã»ã·ãªã³ã° ïŒ
ã°ã«ãŒãã©ãã«ãšå ã®ãã±ããã® APIããã¥ã¡ã³ã ã
GitLab Pagesãµã€ãã§.htmlæ¡åŒµåãèªåçã«æå¹ã«ãªããŸãã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
GitLab Pagesãµã€ãã®/sub-page.html
ãã¡ã€ã«ã/sub-page
ãšããŠå©çšã§ããããã«ãªããŸãããããã«ããããŠãŒã¶ãŒã«ãµã€ãã衚瀺ããæ¹æ³ã«é¢ãããªãã·ã§ã³ãå¢ããŸãã
GitLab Pagesã®ããã¥ã¡ã³ããšå ã®ãã±ãã ã
CIã®äºåå®çŸ©å€æ°ã®ããŒãž
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
å€æ°CI_PAGES
ããã³CI_PAGES_URL
ãPagesãã€ãã©ã€ã³ã«è¿œå ãããããŒãžã®ãã¡ã€ã³åãšURLã衚瀺ã§ããããã«ãªããŸããã ããã«ãããããŸããŸãªå Žæã«ããPagesãµã€ããæäœããéã®æè»æ§ãåäžããŸãã
GitLab Pagesã®ããã¥ã¡ã³ããšå ã®ãã±ãã ã
Kubernetesãšã°ãŒãã¥ãŒã¿ãŒã«å¯å®¹ãè¿œå ãã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
Kubernetesã¯ãéçºãè¡ãããŠããå Žæããæ©åšãåé¢ãã絶奜ã®æ©äŒãæäŸããŸãã ãã ããäžéšã®ã¿ã¹ã¯ã«ã¯ãä»ã®ã¿ã¹ã¯ãããå€ãã®ãªãœãŒã¹ãå¿ èŠãšããäœæ¥ãå«ããç¹æ®ãªæ©åšãå¿ èŠã§ãã
Kubernetesã¯ãããŒã¹ãèšç»ããéã«ãããã®èæ ®äºé ãèæ ®ããããã«ããŒãã«æ±æãšèš±å®¹ãè¿œå ããããšã§ããããµããŒãããŸãã ãããã®ã¿ã€ãã®ã¯ãŒã¯ãããŒããµããŒãããããã«ãGitLab Runnerã®Kubernetesãšã°ãŒãã¥ãŒã¿ãŒã«ãã€ãã£ãã®æ±æããã³èš±å®¹ã®ãµããŒããè¿œå ããŸããã
Kubernetesãšã°ãŒãã¥ãŒã¿ãŒã®ããã¥ã¡ã³ããšãªãªãžãã«ãã±ãã ã
Gitaly TLSãµããŒã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
Gitalyã¯TLSããµããŒãããããã«ãªããŸãããã€ãŸããTLSãæå¹ã«ãªã£ãŠããå ŽåãGitLabãšGitalyéã®ãã¹ãŠã®éä¿¡ãæå·åãããŸãã 以åã¯ãGitLabãšGitalyéã®æ¥ç¶ã¯ããèªäœã§ã¯æå·åãããããããã¯ãŒã¯ã»ãã¥ãªãã£èšå®ã«äŸåããŠããŸããã
Gitaly TLSãµããŒãããã¥ã¡ã³ããšå ã®ãã±ãã
Gitalyã®ElasticsearchãµããŒã
ïŒã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ããïŒ
以åã¯ãElasticsearchã䜿çšããå Žåããã¡ã€ã«ã·ã¹ãã ã§Gitãšéä¿¡ããããã«NFSãªãã§è¡ãããšã¯äžå¯èœã§ããã ãã®ãªãªãŒã¹ãããNFSã®ä»£ããã«Gitalyã䜿çšã§ããããã«ãªããGitãžã®ã¢ã¯ã»ã¹ãé«éåãããŸãã
Elasticsearchçµ±åããã¥ã¡ã³ããšå ã®ãã±ãã ã
ããŒãžãªã¯ãšã¹ãã®å·®åã®ãã¡ã€ã«ãžã®ã¯ã€ãã¯ãžã£ã³ã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
倧èŠæš¡ãªããŒãžèŠæ±ã®ã¬ãã¥ãŒã¯ãç¹ã«ãããã¡ã€ã«ããå¥ã®ãã¡ã€ã«ãžã®ç§»åã«é¢ããŠã¯è€éãªããã»ã¹ã§ãã ãã¡ãžãŒãã¡ã€ã«ãã¡ã€ã³ããŒã«åºã¥ããŠãã¡ã€ã«ãå®çŸ©ããæ°ããæ¹æ³ã¯ããããã¡ã€ã«ããå¥ã®ãã¡ã€ã«ã«ç°¡åã«ç§»è¡ã§ãããããããŒããŒãã䜿çšããŠå·®åããã°ããããã²ãŒãã§ããŸãã
å·®åããã²ãŒã·ã§ã³ã®ããã¥ã¡ã³ããšå ã®ãã±ãã ã
ããŒãžãªã¯ãšã¹ãã®ãªã¹ãã«ç¢ºèªã®æ°ã衚瀺ãã
ïŒã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ã€ããããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
確èªãããããŒãžã®æºåãã§ããŠããããŒãžãªã¯ãšã¹ãã¯ãããŒãžãªã¯ãšã¹ãã®ãªã¹ãã§ç°¡åã«èŠã€ããããšãã§ããŸãã å¿ èŠãªç¢ºèªããã³åä¿¡ãã確èªã®æ°ããããŒãžèŠæ±ã®ãªã¹ãã«è¡šç€ºãããããã«ãªããŸããã
ãã®æ©èœãæäŸããŠãããAndy Steeleã«æè¬ããŸãïŒ
ããŒãžãªã¯ãšã¹ãã®ç¢ºèªãšãªãªãžãã«ãã±ãã ã«é¢ããããã¥ã¡ã³ã ã
æåã§æ§æãããPrometheusã€ã³ã¹ã¿ã³ã¹ããã¢ã©ãŒããåä¿¡ããŸã
ïŒç©¶æ¥µããŽãŒã«ãïŒ
GitLab 11.3ã¯ã¢ã©ãŒãã®èšå®ã®ãµããŒããå°å ¥ããŸããïŒ å ã®èšäº ã 翻蚳 ïŒãã GitLabãšKubernetesã®çµ±åãéããŠãããã€ãããPrometheusã€ã³ã¹ã¿ã³ã¹ã«éå®ãããŠããŸããã
GitLab 11.8ã§ã¯ãæåã§æ§æãããPrometheusãµãŒããŒã¯ãã¢ã©ãŒããããŒãžã£ãŒã®Webããã¯ã®åä¿¡è ãšããŠGitLabãè¿œå ããããšã§ãã¢ã©ãŒãã«ã€ããŠGitLabã«éç¥ããããšãã§ããããã«ãªããŸããã ã¢ã©ãŒããåä¿¡ããåŸãGitLabã¯ã¡ã³ãããŒãšãããžã§ã¯ããªãŒããŒã«ã¡ãŒã«ãéä¿¡ããŸãã
Prometheuså€éšã€ã³ã¹ã¿ã³ã¹çµ±åããã¥ã¡ã³ãããã³å ã®ãã±ãã ã
APIã䜿çšããŠã³ã³ããã¬ãžã¹ããªããæªäœ¿çšã®ã¿ã°ãåé€ãã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
å€ãã®çµç¹ã¯ãã³ãããããšã«ã³ã³ãããäœæããŠãã³ãŒãã®å€æŽã®ãã§ãã¯ãšæçµçãªå±éãç°¡çŽ åããŸãã ããã«ãããçæéã ãå¿ èŠãªå€æ°ã®ã³ã³ããã¿ã°ãäœæãããå¯èœæ§ããããŸãã
GitLab 11.8ã§ã¯ããšã³ããŠãŒã¶ãŒãã¿ã°ãåå¥ã«ããŸãã¯æ£èŠè¡šçŸã䜿çšããŠã°ã«ãŒãã§åé€ããããšã«ãããAPIã䜿çšããŠã³ã³ãããŒã¬ãžã¹ããªãã¯ãªãŒã³ã¢ããã§ããããã«ãªããŸããã
ã³ã³ããã¬ãžã¹ããªå ã®ã¿ã°ã®åé€ããã³å ã®ãã±ãã ã«é¢ããããã¥ã¡ã³ã ã
ã»ãã¥ãªãã£è匱æ§ã®ãã±ãããã©ã€ãã·ãŒ
ïŒç©¶æ¥µããŽãŒã«ãïŒ
ãŠãŒã¶ãŒã¯ãããŒãžãªã¯ãšã¹ããã³ã³ãã€ããŒãžãããã³ã»ãã¥ãªãã£ããã«ã§ã»ãã¥ãªãã£ã¬ããŒãã衚瀺ãããšãã«ãã»ãã¥ãªãã£ã®è匱æ§ãä¿®æ£ããæ°ãããã±ãããäœæã§ããŸãã ãã®æ å ±ã«ã¯ãããããå©çšå¯èœã«ãªã£ãŠãªãªãŒã¹ãããåã«é瀺ãã¹ãã§ã¯ãªã詳现ãé瀺ããå¯èœæ§ã®ããæ©å¯ããŒã¿ãå«ãŸããŠããŸãã
GitLab 11.8以éãè匱æ§é¢é£ãã±ããã¯ããã©ã«ãã§æ©å¯ãšããŠããŒã¯ãããŸãããé瀺ãèš±å¯ãããŠããå ŽåããŠãŒã¶ãŒã¯ãã®ãã©ã°ãç¡å¹ã«ã§ããŸãã
ã»ãã¥ãªãã£ããŒãžãªã¯ãšã¹ãããã¥ã¡ã³ããšãªãªãžãã«ãã±ãã ã
Auto DevOpsã§ã¢ããªã±ãŒã·ã§ã³ã·ãŒã¯ã¬ããããŒãæŽæ°ãããšãã«åŒ·å¶çã«åå±éãã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
K8S_SECRET_
å€æ°ã®æ§æã䜿çšããŠAuto DevOpsã®ã¢ããªã±ãŒã·ã§ã³ã·ãŒã¯ã¬ããããŒãæ§æãããšã察å¿ããKubernetesã·ãŒã¯ã¬ããããŒãã¢ããªã±ãŒã·ã§ã³ã«äœæãããŸãã
ãããã®ã¢ããªã±ãŒã·ã§ã³ã·ãŒã¯ã¬ãããæŽæ°ããããšãAuto DevOpsã¯æŽæ°ãããã·ãŒã¯ã¬ããã§ã¢ããªã±ãŒã·ã§ã³ãåãããã€ããŸãã
ãã®æ©èœãããããšãã¢ãŒãã³ãŠã©ãŒã«ãŒ ïŒ
èªåDevOpså€æ°ã®ããã¥ã¡ã³ããšå ã®ãã±ãã ã
ãµãŒããŒã¬ã¹ã®æ©èœãªã¹ãã§ã¯ã©ã¹ã¿ãŒç°å¢ã衚瀺ãã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ãµãŒããŒã¬ã¹ããŒãžãæ¹åãããKnativeã§ãããã€ãããæ©èœãããããã€ãããã¯ã©ã¹ã¿ãŒç°å¢ã«å¿ããŠã°ã«ãŒãåãããŸããã
ããã«ãé¢æ°ã®èª¬æããé¢æ°ã®ãšã³ããã€ã³ããã³ããŒããããã®ã·ã§ãŒãã«ããããã³æ°ããã¿ãã§ãšã³ããã€ã³ããéãããã®ã·ã§ãŒãã«ãããšãšãã«è¡šç€ºãããããã«ãªããŸããã
ãµãŒããŒã¬ã¹å±éã®ããã¥ã¡ã³ããšå ã®ãã±ãã ã
èªåDevOpsã®ã¢ãã¬ã¹ã§èšŒææžãããŒãžã£ãŒã匷å¶ãã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
HTTPS Auto DevOps. URL, Let's Encrypt (64 ), .
release notes / : GitLab 11.8 released with SAST for JavaScript, Pages for subgroups, and Error Tracking .
cattidourden , maryartkey , ainoneko rishavant .