GitLabã®ãµãŒããŒã¬ã¹ã¢ãŒããã¯ãã£ã®æ©èœãæ¡åŒµããKubernetesã°ã«ãŒãã¯ã©ã¹ã¿ãŒã远å ããŠãã€ãã£ãã¯ã©ãŠãã€ã³ãã©ã¹ãã©ã¯ãã£ã§ã®äœæ¥ãç°¡çŽ åããGitLab 11.6ã®ãªãªãŒã¹ãçºè¡šããŸãã
GitLabãä»ããŠä»»æã®ã¯ã©ãŠãã«ãµãŒããŒã¬ã¹éçºãå±éããŸã
ãµãŒããŒã¬ã¹ã³ã³ãã¥ãŒãã£ã³ã°ã¯åçã«åŠçãããã³ãŒããå®è¡ããããšãã·ã¹ãã ã¯ã¯ã©ãŠããªãœãŒã¹ã«ã¢ã¯ã»ã¹ããããã«ãããå®è¡ã«å¿ èŠãªãªãœãŒã¹ã®å²ãåœãŠãšåé ãæé©åããŸãã éçºè ã®éã§ãã®ã¢ãããŒãã®äººæ°ãé«ãŸã£ãŠããŸãããªããªããã³ãŒãã®äœæãªã©ãæ¬åœã«éèŠãªããšã«éäžã§ãããœãããŠã§ã¢ãå®è¡ãããåºç€ã€ã³ãã©ã¹ãã©ã¯ãã£ãçè§£ããå¿ èŠããªãããã§ãã
GitLabã®ãµãŒããŒã¬ã¹ã³ã³ãã¥ãŒãã£ã³ã°ã¯ ããµãŒããŒã¬ã¹ãããžã§ã¯ããäœæãå±éã管çããããã«èšèšãããKubernetesãã©ãããã©ãŒã ã§ããKnativeã䜿çšããŸãã ãã®æ©èœã«ãããéçºè ã¯ãäœ¿ãæ £ããã€ã³ã¿ãŒãã§ã€ã¹ã§ããµãŒããŒã¬ã¹éçºãç°¡åã«äœæããä»ã®ã³ãŒããšäžç·ã«ç®¡çã§ããŸãã ããžãã¹ã®å ŽåããµãŒããŒã¬ã¹ã¢ãŒããã¯ãã£ã«ããããã«ãã¯ã©ãŠãæŠç¥ã䜿çšããŠãç¹å®ã®ã¯ã©ãŠããããã€ããŒã«çžãããããšãåé¿ã§ããŸãã
GitLabã¯ãã€ãã£ãã¯ã©ãŠãã¢ããªã±ãŒã·ã§ã³éçºã®ç°¡çŽ åãç¶ç¶
çµã¿èŸŒã¿ã®ã³ã³ããã¬ãžã¹ããªãšKubernetesã®çµ±åã«ãããGitLabã§ã¯ãã³ã³ãããšã¯ã©ãŠãéçºããããŸã§ã«ãªãç°¡åã«éå§ã§ããŸãã ãªãªãŒã¹11.6以éããŠãŒã¶ãŒã¯Kubernetesã°ã«ãŒãã¯ã©ã¹ã¿ãŒãäœæã§ããã°ã«ãŒããŸãã¯ãã®ãµãã°ã«ãŒãå ã®ãã¹ãŠã®ãããžã§ã¯ãã§äœ¿çšã§ããŸãã ããã«ããããã€ãã£ãã¯ã©ãŠããããžã§ã¯ãã®ã»ããã¢ãããããã«ç°¡åã«ãªããéçºè ã¯é«å質ã®ã¢ããªã±ãŒã·ã§ã³ã®éçºã«éäžã§ããŸãã
äŒæ¥ã«ã¯ãå€ãã®ã¯ãŒã«ãªæ©èœããªãªãŒã¹ããŸããã
ãæ°ã«å ¥ãïŒ å€æŽæ¡ ãWeb IDEã®Webç«¯æ« ãã°ã«ãŒãã»ãã¥ãªãã£ããã«ã®è匱æ§ã°ã©ã ã ããŒãžãªã¯ãšã¹ãã®å·®åïŒãã·ã¢èªçã®GitLabã®ãããŒãžãªã¯ãšã¹ããïŒãžã®ã³ã¡ã³ãã§ææ¡ããã倿Žãã¯ã³ã¯ãªãã¯ã§åãå ¥ããããšãã§ãããããããŒã ã®è²¢ç®ãããåãå ¥ãããããªããŸããã ãŸãããã®ãªãªãŒã¹ã§ã¯ããµãŒããŒäžã§å®è¡ãããWeb IDEã®æåã®æ©èœã§ããWebã¿ãŒããã«ãå©çšå¯èœã«ãªããŸããã ååã®ãªãªãŒã¹ã§è¿œå ãããã°ã«ãŒãã®ã»ãã¥ãªãã£ããã«ã«æ°ããè匱æ§ãã£ãŒãã衚瀺ãããè匱æ§ã®æ°ã®æ¥ã ã®å€åã衚瀺ããã倿Žã®ã¡ããªãã¯ã远跡ã§ããŸãã
ç¶ããèªããšãGitLab 11.6ãªãªãŒã¹ã®ããªããŒã€ãããŒã·ã§ã³ã«é¢ãããã¹ãŠãããããŸãïŒ
ç§ãã¡ã¯ããªããäŒè°ã«æåŸ ããŸã
仿ã®MVP- ã¹ã¶ã³ããã«ãã³
Suzanneã¯ãGitLabãæè¿ã®è£œåã§ããVoluntary Product Accessibility Template ïŒVPATïŒã®ã¬ãã¥ãŒãæ¯æŽãããªãŒãã³ãœãŒã¹ã¿ã¹ã¯ãæŽçããã³æ¹è¯ããŸããã ãŸããéçåæããŒã«ãšæåãã¹ãã䜿çšããŠã補åã®çŸåšã®ã¹ããŒã¿ã¹ãè©äŸ¡ããã®ãæäŒããŸããã VPATã¯ãã¢ã¯ã»ã·ããªãã£ã®æšæºãžã®æºæ ãä¿èšŒããŸãïŒèªèãšå¯Ÿè©±ãå°ãªã人åãïŒããã®è£œåã¯ããã¹ãŠã®äººãGitLabã®å¯çšæ§ãåäžããã誰ããGitLabã䜿çšããŠéçºã«è²¢ç®ã§ããããã«ãã倧ããªäžæ©ã§ãã
ããããšããã¹ã¶ã³ã ããå€ãã®äººã ãGitLabã䜿çšããã®ã«åœ¹ç«ã€ããªãã®å ¥åã«æ¬åœã«æè¬ããŠããŸãã
GitLab 11.6ã®ãªãªãŒã¹ã®äž»ãªæ©èœ
ãµãŒããŒã¬ã¹æ©èœïŒã¢ã«ãã¡çïŒ
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
GitLab 11.5ãªãªãŒã¹ã§è¿œå ãããKnativeïŒ å ã®èšäº ã 翻蚳 ïŒãšã®çµ±åã«åºã¥ããŠããŠãŒã¶ãŒããªããžããªã§äœæã§ããKnativeã®å¶åŸ¡äžã«ãããµãŒããŒã¬ã¹æ©èœãšããæ°ããæ©èœã玹ä»ããŸãã
ãªããžããªã®.gitlab-ci.yml
ãã¡ã€ã«ã§é¢æ°ãå®çŸ©ãã .gitlab-ci.yml
ã䜿çšããå¿
èŠããããŸãã å颿°ã¯ã¯ã©ã¹ã¿ãŒã«é
眮ãããKnativeãããããã¹ãŠãåŠçããå¿
èŠãªãªãœãŒã¹ã«åºã¥ããŠæ¡åŒµããŸãã ãã®æ©èœã«ãããã¢ããªã±ãŒã·ã§ã³éçºè
ã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ã®ã»ããã¢ãããšã¡ã³ããã³ã¹ãå¿é
ããããšãªããæ°ããããŒãžã§ã³ãããéããªãªãŒã¹ã§ããŸãã
ãµãŒããŒã¬ã¹ã®ã¢ããªã±ãŒã·ã§ã³ãšæ©èœã®ããã¥ã¡ã³ããšå ã®ãã±ãã
ããŒãžãªã¯ãšã¹ãçšã®CI / CDã®çºå£²
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ããŒãžèŠæ±ã®å Žåã«ç¹å®ã®ãžã§ããéå§ããããšãããç°¡åã«ãªããŸããã å€merge_requests
ããŒã¯ãŒãonly/except
ãšçµã¿åãããŠäœ¿çšââãããšãããŒãžèŠæ±ã§ã®ã¿åäœããããã«ããŸãã¯ãã®éã®å Žåã«èµ·åãæ§æã§ããŸãã ããã«ããããã€ãã©ã€ã³ã®åäœããã詳现ã«å¶åŸ¡ã§ããããã«ãªããã¿ãŒã²ãããã©ã³ããšããŒãžèŠæ±IDãæãæ°ããç°å¢å€æ°ãžã®ã¢ã¯ã»ã¹ãå¯èœã«ãªããä»ã®åäœæŠç¥ãå®è£
ã§ããŸãã
ããŒãžèŠæ±ãšå ã®ãã±ããã® åŸã®äœæ¥ã®éå§ã«é¢ããããã¥ã¡ã³ã
ææ¡ããã倿Ž
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ããŒãžãªã¯ãšã¹ãã®ã³ã©ãã¬ãŒã·ã§ã³ãç°¡åã«ãªããŸãã-ææ¡ããã倿Žãåãå ¥ããããã«ã³ãŒããã³ããŒããå¿ èŠããªããªããŸããã çŸåšãããŒãžèŠæ±ã®å·®åã«ã³ã¡ã³ããããšãã«å€æŽãææ¡ãããã®ã¹ã¬ããã§æžãèŸŒã¿æš©éãæã€ãŠãŒã¶ãŒãã¯ã³ã¯ãªãã¯ã§åãå ¥ããããšãã§ããŸãã
ããã§ããã®æ©èœã¯GitLab.comã§æ©èœããGitLabãŠãŒã¶ãŒã€ã³ã¹ã¿ã³ã¹ã§diff_suggestions
ã䜿çšããŠæ¥ç¶ã§ããGitLab 11.7ã§ã¯ãã®æ©èœã¯ããã©ã«ãã§æå¹ã«ãªããŸãã
ææ¡ããã倿Žãšå ã®ãã±ããã® ææžå
Web IDEçšã®Webã¿ãŒããã«ïŒããŒã¿ïŒ
ïŒç©¶æ¥µïŒ
Web IDEã䜿çšãããšã倿Žãç°¡åã«ãã°ããå®è¡ããŠããŒãžèŠæ±ã®ãã£ãŒãããã¯ãåŠçã§ããããã倿Žãä¿åãããããã©ã³ããããŒã«ã«ã§å€æŽããå¿ èŠããªããªããŸãã ãã ãããã¹ããå®è¡ããããã®ç«¯æ«ãªãã§å€§ããªå€æŽãè¡ããREPLïŒèªã¿åã-è©äŸ¡-å°å·ã«ãŒã-ãèªã¿åã-èšç®-åºåã«ãŒããïŒã詊ããã³ãŒããã³ã³ãã€ã«ããã®ã¯ç°¡åã§ã¯ãããŸããã
ããã§ãWeb IDEã䜿çšããŠãWebã¿ãŒããã«ãèµ·åãããšãã£ã¿ãŒã§äœæ¥ããŠãããŒã«ã«ã§äœæ¥ããã®ãšåãããã«æå
ã«çœ®ãããšãã§ããŸãã Webã¿ãŒããã«ã¯ãWeb IDEã§ãµãŒããŒåŽã®åŠçãè¡ãæåã®æ©èœã§ãããæ°ãã.gitlab/.gitlab-webide.yml
ã䜿çšããŠæ§æãã.gitlab/.gitlab-webide.yml
ã
ã€ã³ã¿ã©ã¯ãã£ããªWeb端æ«ã¯ãŸã GitLab.comã§å©çšã§ããŸãããçŸæç¹ã§ã¯ããšãã£ã¿ãŒãšWeb端æ«ã®éã§å€æŽã¯åæãããŸããã ããã§éçºã®é²æç¶æ³ã確èªã§ããŸããæ¬¡ã®ãªãªãŒã¹ã§ã¯ã 倿Žã®ãã©ãŒãªã³ã°ãšãªã¢ã«ã¿ã€ã ãã¬ãã¥ãŒã®ãµããŒãã远å ããŸãã
Web端æ«ã®ããã¥ã¡ã³ããšå ã®ãã±ãã
ã°ã«ãŒãã®ãããžã§ã¯ããã³ãã¬ãŒã
ïŒãã¬ãã¢ã ãã¢ã«ãã£ã¡ã€ããã·ã«ããŒããŽãŒã«ãïŒ
ãããžã§ã¯ããã³ãã¬ãŒãã䜿çšãããšããŠãŒã¶ãŒã¯æ°ãããããžã§ã¯ãããã°ããéå§ã§ããŸãã ãªãªãŒã¹11.2ïŒ ãªãªãžãã«èšäº ã 翻蚳 ïŒã§ã¯ã ãŠãŒã¶ãŒã€ã³ã¹ã¿ã³ã¹çšã®ãããžã§ã¯ããã³ãã¬ãŒããå°å ¥ããŸããã
GitLab 11.6ã§ã¯ããã®æ©èœãã°ã«ãŒãã§å©çšå¯èœã«ãªã£ãããšããç¥ããããŸãã æ°ããã°ã«ãŒãã®èšå®ã䜿çšããŠç¹å¥ãªãµãã°ã«ãŒããäœæãããšããã®ãµãã°ã«ãŒãã®ãããžã§ã¯ãããã³ãã¬ãŒããšããŠå©çšå¯èœã«ãªããŸãã ããã«ãããåæèšå®ãç°¡çŽ åãããç¹ã«ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ãªã©ã®å€§èŠæš¡ãªæ§é ã§ããããžã§ã¯ãéã®åäžæ§ã確ä¿ãããŸãã
ãããžã§ã¯ããã³ãã¬ãŒãã®ããã¥ã¡ã³ããšå ã®ãã±ãã
ã°ã«ãŒãçšã®Kubernetesã¯ã©ã¹ã¿ãŒïŒããŒã¿ïŒ
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
å€ãã®å Žåãé¢é£ãããžã§ã¯ãã«åãçµãã§ããéçºããŒã ã¯ãåãKubernetesã¯ã©ã¹ã¿ãŒã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ãå±éããå¿ èŠããããŸãã GitLab 11.6以éããŠãŒã¶ãŒã¯ã°ã«ãŒãã¬ãã«ã§Kubernetesã¯ã©ã¹ã¿ãŒãäœæã§ããããã«ãªããŸããããã¯ããã®ã°ã«ãŒããŸãã¯ãã®ãµãã°ã«ãŒãã«å«ãŸãããã¹ãŠã®ãããžã§ã¯ãã§äœ¿çšã§ããŸãã
ããã«ããããããžã§ã¯ãã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãã»ããã¢ããããããã»ã¹ãå€§å¹ ã«ç°¡çŽ åããã³é«éåãããã¯ãŒã«ãªã¢ããªã±ãŒã·ã§ã³ã®éçºã«éäžã§ããŸãã
ã°ã«ãŒãããã³å ã®ãã±ããã® ã¯ã©ã¹ã¿ãŒããã¥ã¡ã³ã
Kubernetesã®èšŒææžãããŒãžã£ãŒ
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
éçºæ®µéã§ã¢ããªã±ãŒã·ã§ã³ãå±éããå Žåãã»ãã¥ãªãã£ã¯éèŠã§ãã èšŒææžãããŒãžã£ãŒã¯ãLet's Encryptã䜿çšããŠSSLèšŒææžãèªåçã«äœæããã³æŽæ°ããKubernetesããŒã¹ã®èšŒææžç®¡çã³ã³ãããŒã©ãŒã§ãã
Auto DevOpsãä»ããŠæäŸãããã¢ããªã±ãŒã·ã§ã³ããã³JupyterHubãä»ããå±éã«ãã®SSLèšŒææžã䜿çšãããšãHTTPSãæå¹ã«ãªããŸãã
ã¢ããªã±ãŒã·ã§ã³ã®ã€ã³ã¹ããŒã«ããã¥ã¡ã³ããšå ã®ãã±ãã
ã°ã«ãŒãã»ãã¥ãªãã£ããã«ã®è匱æ§ã°ã©ã
ïŒç©¶æ¥µããŽãŒã«ãïŒ
ã°ã«ãŒãã»ãã¥ãªãã£ããã·ã¥ããŒãã¯ãã»ãã¥ãªãã£ã®å°éå®¶ããããžã§ã¯ãã®è匱æ§ã管çã§ããäž»èŠãªããŒã«ã§ãã æãéèŠãªèŠä»¶ã®1ã€ã¯ãè匱æ§ã®æ°ãæ¥ã ã©ã®ããã«å€åããããææ¡ããããŒã ãæ°ããåé¡ãååã«è¿ éã«è§£æ±ºã§ãããã©ãããçè§£ããããšã§ãã
GitLab 11.6ãªãªãŒã¹ã§ã¯ãã°ã«ãŒãã®ã»ãã¥ãªãã£ããã«ã«è匱æ§ãã£ãŒãã远å ããŸãããããã«ãããéå»1ãæéã®è匱æ§ã®å€æŽãç°¡åã«è¿œè·¡ã§ããŸãã åå±éºã¬ãã«ã«ã€ããŠãè匱æ§ã€ã³ãžã±ãŒã¿ã®å€ã確èªããã¹ã±ãžã¥ãŒã«ã«æ²¿ã£ãŠç§»åããŠãç¹å®ã®ç¬éããã詳现ã«èª¿ã¹ãããšãã§ããŸãã
ã°ã«ãŒãã»ãã¥ãªãã£ããã«ã®ããã¥ã¡ã³ããšå ã®ãã±ãã
GitLab 11.6ã®ãã®ä»ã®æ¹åç¹
ã¹ããŒãã«ãŒãããŒã¹ã®ããŒããŠã§ã¢ããŒã¯ã³èªèšŒ
ïŒæé«ã究極ïŒ
X.509èšŒææžãåããããŒããŠã§ã¢ããŒã¯ã³ãšèªèšŒçšã®ã¹ããŒãã«ãŒãæ©èœïŒYubiKeysãå ±æã¢ã¯ã»ã¹ã«ãŒãïŒCACïŒãªã©ïŒã䜿çšããç°å¢ã§éçºè ãåãçµç¹ã§ã¯ãGitLabã¯ããŒã«ã«ãŠãŒã¶ãŒã®äœæãšãã°ã€ã³ããµããŒãããããã«ãªããŸããã
ãŠãŒã¶ãŒã¯ããŒããŠã§ã¢ããŒã¯ã³ã䜿çšããŠGitLabã«ã¢ã¯ã»ã¹ã§ããããã«ãªããŸãããããã«ãããã»ãã¥ãªãã£ãåäžããç©çããã€ã¹ã«é¢é£ä»ããããŠããªããã°ã€ã³/ãã¹ã¯ãŒãã®ããŒã¿ã管çããå¿ èŠããªããªããŸãã
ã¹ããŒãã«ãŒãèªèšŒã®ããã¥ã¡ã³ããšå ã®ãã±ãã
GitLab.comã®ã°ã«ãŒããµãã¹ã¯ãªãã·ã§ã³æ å ±
ïŒç¡æãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
GitLab.comã®ææãµãã¹ã¯ãªãã·ã§ã³ããæã¡ã®ãŠãŒã¶ãŒã®å Žåããµãã¹ã¯ãªãã·ã§ã³ã¹ããŒã¿ã¹æ å ±ããããââãããããããŸããã
ããŒãžã§ã³11.6ã§ã¯ãã°ã«ãŒãèšå®ããŒãžã®[課é]ã»ã¯ã·ã§ã³ãæ¹åãããã°ã«ãŒããµãã¹ã¯ãªãã·ã§ã³ã«é¢ãã詳现æ å ±ãå«ãŸããããã«ãªããŸããã ããã§ãçŸåšæ®åœ±ããå Žæãéå»ã«å æãããå Žæãããã³ãµãã¹ã¯ãªãã·ã§ã³ã®éå§æå»ãšçµäºæå»ãç°¡åã«ç¢ºèªã§ããŸãã
ããã¥ã¡ã³ããšå ã®ãã±ãã
Discordãžã®éç¥ã®éä¿¡
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ãã®ãªãªãŒã¹ãããGitLabãšDiscordãçµ±åã§ããŸããããã«ããããªããžããªãžã®ããã·ã¥ããã±ããã®æŽæ°ã®ããŠã³ããŒãããªã¯ãšã¹ãã®ããŒãžãªã©ãGitLabã€ãã³ããžã®å¿çãšããŠDiscordã®ãã£ãã«ã«éç¥ãéä¿¡ã§ããŸãã
ãã®æ©èœãæäŸããŠãããVitaliy Klachkovã«æè¬ããŸãïŒ
äžäžèŽéç¥ææžãšå ã®ãã±ãã
ãšããã¯ã®ãã±ããã®ããã¢ãŒã·ã§ã³
ïŒç©¶æ¥µããŽãŒã«ãïŒ
ãœãããŠã§ã¢éçºã¯ãããŒã å šäœãåå ããåµé çãªããã»ã¹ã§ããããã¹ãŠã®ã¢ã€ãã¢ãèæ ®ããå¿ èŠããããŸãã ãã±ããã®åœ¢ã§è¡šç€ºãããã¢ã€ãã¢ããšããã¯ã«ç°¡åã«å€æŽã§ããæ°ããæ©èœã远å ããŸããã
æ°ããã¯ã€ãã¯ã¢ã¯ã·ã§ã³ã䜿çšããŠããã±ããããšããã¯ã«ç°¡åã«ã¢ããã°ã¬ãŒãã§ããŸãã ãã±ããã®ã³ã¡ã³ãã«å
¥å/promote
ããŠã[ ã³ã¡ã³ã ]ãã¯ãªãã¯ããŸãã ãã±ããã¯éãããããã®å
å®¹ã¯æ°ãããšããã¯ã«ã³ããŒããããããžã§ã¯ãã®èŠªã°ã«ãŒãã«è¡šç€ºãããŸãã ãã±ããã®äžã®ååã説æããã£ã¹ã«ãã·ã§ã³ã«å ããŠãã¿ã°ãåå è
ãããã/å«ããããã³ããŒãããŸãã
ãã±ããã®ãšããã¯ãžã®ã¢ããã°ã¬ãŒãããã³å ã®ãã±ãã ã«é¢ããããã¥ã¡ã³ã
ãã±ããããã£ã«ã¿ãªã³ã°ããŠãªã¯ãšã¹ããããŒãžãããšãã®èšå®ããã«ã®å€èŠ³ãæ¹åããŸãã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
GitLabã®æ®ãã®éšåã®ãã¶ã€ã³ãšäžèŽããããã«ãããŒãžãªã¯ãšã¹ãã®ãã±ãããšããã·ã¥ããŒãã®æ€çŽ¢çµæã®ãã¬ãŒã³ããŒã·ã§ã³ã®ãã¶ã€ã³ãæŽæ°ããŸããã
GitLabæ€çŽ¢ããã¥ã¡ã³ããšå ã®ãã±ãã
åãŠãŒã¶ãŒã®ãã±ãããããŒãžèŠæ±ããšããã¯ã®ãœãŒãé ãä¿åãã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ãŠãŒã¶ãŒããã±ãããããŒãžãªã¯ãšã¹ãããšããã¯ãããã«ã¯ã¿ã¹ã¯ã¹ã±ãžã¥ãŒã«ã«ç¬èªã®ãœãŒãé ãèšå®ã§ããæ©èœã远å ããŸããã ãœãŒãã®å¯Ÿè±¡ãšãªã屿§ãããã³ãœãŒãé ïŒæé ãŸãã¯éé ïŒã«é¢ããæ å ±ã¯ã·ã¹ãã ã«ä¿åããããããåã«è¡šç€ºãããªããžã§ã¯ãã®ãªã¹ãã«æ»ããšã以åãšãŸã£ããåãããã«ãœãŒããããŸãã
å£®å€§ãªæ€çŽ¢ããã¥ã¡ã³ããšãªãªãžãã«ãã±ãã
ããŒããããã§éããåäºè©©ãšéããåäºè©©ãèŠã
ïŒç©¶æ¥µããŽãŒã«ãïŒ
æè¿ãGitLabã§ãšããã¯ãéããæ©èœã远å ããŸãããããã«ãããå®äºãããšããã¯ãç¡é¢ä¿ãªãšããã¯ãããŒã¯ã§ããŸãã
ãã®ãªãªãŒã¹ããããªãŒãã³ãšããã¯ãã¯ããŒãºãšããã¯ããŸãã¯ãã®äž¡æ¹ãããŒããããã§äžåºŠã«è¡šç€ºããæ©èœã远å ãããŸãã ããã¯ãæ®ãã®ã¿ã¹ã¯ãšç·æ¥ã®ã¿ã¹ã¯ã®ã¿ã«éäžããå¿ èŠãããããŒã ïŒãªãŒãã³ãšããã¯ïŒãå®äºããã¿ã¹ã¯ã衚瀺ããããŒã ïŒã¯ããŒãºããšããã¯ïŒããŸãã¯å®äºããã¿ã¹ã¯ãšçŸåšã®ã¿ã¹ã¯ãåããããã§è¡šç€ºããå¿ èŠãããããŒã ã«åœ¹ç«ã¡ãŸãã æ°ããæ©èœã«ããããã®ãããªæè»æ§ãå©çšå¯èœã«ãªããŸãã ããã«ããŠãŒã¶ãŒããšã«èšå®ãã·ã¹ãã ã«ä¿åãããããã«ãªã£ããããããŒããããã«åã³æ»ã£ããšãã«ãååãšãŸã£ããåãããã«è¡šç€ºãããŸãã
ã¿ã¹ã¯ã¹ã±ãžã¥ãŒã«ã®ããã¥ã¡ã³ããšå ã®ãã±ãã
åæ§ã®ã¿ã¹ã¯ã衚瀺ãã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ãããžã§ã¯ããæé·ããã«ã€ããŠãéçºè ã¯æ°ããã¿ã¹ã¯ã®æ°ãããã±ãããäœæããå€ãã®å Žåããããã®ãã±ããã¯ç¹°ãè¿ããå§ããŸãã
人ã ãããã«çããèŠã€ãããããžã§ã¯ã管çè ã®æéãç¯çŽã§ããããã«ããããã«ãæ°ãããã±ãããäœæãããšãã«ãããã«é¡äŒŒãããã±ããã衚瀺ãããŸãã ãã±ããäœæWebãã©ãŒã ã«ã¿ã€ãã«ãå ¥åãããšè¡šç€ºãããŸãã ããã«ããããŠãŒã¶ãŒã¯ããã«åæ§ã®ãã±ãããèŠã€ãããããã«åãæ¿ããããã«çŸåšã®ãã£ã¹ã«ãã·ã§ã³ã«åå ã§ããããã«ãªããGitLabã§ã®ã³ã©ãã¬ãŒã·ã§ã³ã®æ©äŒãããã«å¢ããŸãã
åæ§ã®ãã±ãããšå ã®ãã±ããã® ããã¥ã¡ã³ã
å ¬ééµèªèšŒã䜿çšããSSHãä»ããããã·ã¥ãã©ãŒãªã³ã°ã®ãµããŒã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ãªããžããªã®ãã©ãŒãªã³ã°ã«ãããGitãªããžããªãããå Žæããå¥ã®å Žæã«ã³ããŒã§ããŸãã ããã«ãããå¥ã®ãµãŒããŒã«ãªããžããªãã©ãŒãäœæãããšãã«ãè€æ°ã®GitLabã€ã³ã¹ã¿ã³ã¹ã§äœæ¥ãããããªããŸãã ãã ããäžéšã®ã¿ãŒã²ãããµãŒããŒã§ã¯ãå ¬éããŒèªèšŒã䜿çšããSSHãä»ããGitãžã®ã¢ã¯ã»ã¹ã®ã¿ãèš±å¯ãããŸãã
GitLabã¯ããã¹ã¯ãŒãããŒã¹ã®SSHèªèšŒãšHTTPããã·ã¥ãã©ãŒãªã³ã°ã«å ããŠãå ¬éããŒèªèšŒã«ããSSHãã©ãŒãªã³ã°ããµããŒãããããã«ãªããŸããã
ããã·ã¥ãã©ãŒãªã³ã°ã®ããã¥ã¡ã³ããšå ã®ãã±ãã
ãããžã§ã¯ãã¡ã³ãããŒã¯APIçµç±ã§ãã€ãã©ã€ã³ãåé€ã§ããããã«ãªããŸãã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ããã§ãAPIã䜿çšããŠãã€ãã©ã€ã³ãåé€ã§ããŸãã ããã¯ããã€ãã©ã€ã³ã§ç§å¯æ å ±ã®æŒæŽ©ãçºçããå Žåãå€ãã®äžèŠãªãã€ãã©ã€ã³ãäœæãããå ŽåããŸãã¯ãã€ãã©ã€ã³ãåé€ããå¿ èŠããããšãã«ä»ã®åé¡ãçºçããå Žåã«åœ¹ç«ã¡ãŸãã
ã³ã³ãã€ãŒã®åãå€ãã«é¢ããããã¥ã¡ã³ããšå ã®ãã±ãã
ããªã¬ãŒå€æ°ã¯ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã§ããã©ã«ãã§é衚瀺ã«ãªããŸãã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ãã¹ãŠã®ããªã¬ãŒå€æ°ã¯ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã§ããã©ã«ãã§é衚瀺ã«ãªãããŠãŒã¶ãŒãæç€ºçã«æå®ããå Žåã«ã®ã¿è¡šç€ºãããŸãã ããã«ãããç»é¢ãå ±æãããšããã¹ã¯ãªãŒã³ã·ã§ãããæ®ããšãã«ãå€ãæå³ããã«å ¬éãããããšãé²ããŸãã
ããªã¬ãŒå€æ°ãšå ã®ãã±ãã㮠䜿çšã«é¢ããããã¥ã¡ã³ã
ããŒãžãªã¯ãšã¹ãã®ã¬ãã¥ãŒã«é¢ãã1ã€ã®ã¡ãŒã«éç¥
ïŒãã¬ãã¢ã ãã¢ã«ãã£ã¡ã€ããã·ã«ããŒããŽãŒã«ãïŒ
ã³ãŒãã®ã¬ãã¥ãŒã¯ãæåãããã¹ãŠã®ãããžã§ã¯ãã«å¿ èŠãªãã©ã¯ãã£ã¹ã§ãããã³ã¡ã³ãããšã«é»åã¡ãŒã«éç¥ãåãåãå¿ èŠããªãå ŽåããããŸãã ããã§ãåä¿¡ããã¯ã¹ãç¡é§ã«ããªãããã«ããã¹ãŠã®ã³ã¡ã³ãã®ãªã¹ããå«ã1ã€ã®éç¥ã®ã¿ãéä¿¡ãããŸãã
GitLab 11.4ã§æç€ºãããããŒãžãªã¯ãšã¹ãã¬ãã¥ãŒïŒ å ã®èšäº ã 翻蚳 ïŒã¯ãã³ã¡ã³ãã®äœæãã¬ãã¥ãŒãæçš¿ãäžåºŠã«è¡ããããã«ããããšã§ãã³ãŒãã¬ãã¥ãŒã容æã«ããŸãã
ãã®æ©èœã¯GitLab.comã§å©çšã§ããããã«ãªããbatch_review_notification ãã©ã°ã€ã³æ©èœ ïŒæ©èœãã©ã°ãæ©èœåãæ¿ãïŒã䜿çšããŠGitLabãŠãŒã¶ãŒã€ã³ã¹ã¿ã³ã¹ã«å¯ŸããŠæå¹ã«ããããšãã§ããŸãã GitLab 11.7ã®ãŠãŒã¶ãŒã€ã³ã¹ã¿ã³ã¹ã§ã¯ããã©ã«ãã§æå¹ã«ãªããŸãã
ãªã¯ãšã¹ãã®ã¬ãã¥ãŒããã¥ã¡ã³ããšå ã®ãã±ããã ããŒãžãã
æ¹åããããããžã§ã¯ããã¥ãŒããŒãž
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
GitLab 11.6ã®ãªãªãŒã¹ã§ã¯ããããžã§ã¯ãããŒãžã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãåŒãç¶ã䜿çšããŸãããããžã§ã¯ãã¿ã€ãã«ã®è¡šç€ºã調æŽããã³ã³ãã©ã¹ããæ¹åãã空ã®ã¹ããŒã¹ãæäœããŠãé »ç¹ã«äœ¿çšãããã¢ã¯ã·ã§ã³ã匷調ããæ å ±æ§é å šäœãæ¹åããŸããã
ãããžã§ã¯ãã®ããã¥ã¡ã³ããšå ã®ãã±ãã
ãŠãŒã¶ãŒãããã¡ã€ã«ã®ããŒã«ããã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ãã®ãªãªãŒã¹ã§ã¯ãã¿ã¹ã¯ããŒãžãšããŒãžãªã¯ãšã¹ãããŒãžã§ãŠãŒã¶ãŒåã«ã«ãŒãœã«ãåããããšãé«åºŠãªããŒã«ãããã远å ãããŸããã 以åã¯ããã«ããŒã ã®ã¿ã衚瀺ããŠããŸãããããŠãŒã¶ãŒã®ãã«ããŒã ãIDãäŒç€Ÿãå Žææ å ±ãããã³ãŠãŒã¶ãŒã®ã¹ããŒã¿ã¹ïŒå©çšå¯èœãªå ŽåïŒã衚瀺ãããããã«ãªããŸããã
ä»ã®ããŒãžã«æ¡åŒµããŒã«ãããã远å ããããšã«å ããŠã ã¿ã¹ã¯ããã³ããŒãžãªã¯ãšã¹ãã®ããŒã«ãããã®ä»åŸã®æ¹åã«åãçµãã§ããããŸããªãå©çšå¯èœã«ãªããŸãã
ããã²ãŒã·ã§ã³ãã§ãŒã³ã«ã¯ããã€ã«ã¹ããŒã³ãšã¿ã°ã®ãæ°èŠãããã³ãç·šéããå«ãŸããŸã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ãã®ãªãªãŒã¹ã§ã¯ããã€ã«ã¹ããŒã³ãšã¿ã°ã®GitLabãã³ããããã²ãŒã·ã§ã³ãã§ãŒã³ãæ¹åããŠããŸãã ãã€ã«ã¹ããŒã³ãŸãã¯ã¿ã°ãäœæãŸãã¯ç·šéããå Žåãããã²ãŒã·ã§ã³ãã§ãŒã³ã®æåŸã«è¿œå ã®èŠçŽ ãæ°èŠããŸãã¯ãç·šéããããããã±ããããã³ããŒãžãªã¯ãšã¹ããšäžèŽããããã«ãªããŸããã
ãã®æ©èœãæäŸããŠãããGeorge Tsiolisã«æè¬ããŸãïŒ
Auto DevOpsã®HTTPSãµããŒã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
GitLabã®Auto DevOpsã¯ãé«å質ã®ãœãããŠã§ã¢ã®æäŸã«äŒŽãå€ãã®èª²é¡ã«å¯ŸåŠããŸãã GitLab 11.6ã¯ãHTTPSã®ãµããŒãã远å ããããšã«ããããã®æ©èœãããã«æ¡åŒµããŠããŸãã
Auto DevOpsã¯Kubernetesã®èšŒææžãããŒãžã£ãŒã䜿çšããŠãHTTPSãä»ããŠã¢ããªã±ãŒã·ã§ã³ãèªåçã«æäŸããã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ã匷åããŸãã
Auto DevOpsã®ããã¥ã¡ã³ããšå ã®ãã±ãã
JupyterHubã®HTTPSãµããŒã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
JupyterHubã¯ãããŒã¿ããŒã ã«æ å ±ãå ±æããããã®åŒ·åãªæ¹æ³ãæäŸããŸãã å€ãã®å Žåãæ©å¯ããŒã¿ã«ã¯ã»ãã¥ãªãã£ã匷åããå¿ èŠããããŸãã
Kubernetesã®èšŒææžãããŒãžã£ãŒã䜿çšãããšãJupyterHubã¯HTTPSãä»ããŠJupyterãèªåçã«æäŸããæ©å¯ããŒã¿ã®ã»ãã¥ãªãã£ã匷åããŸãã
ã¯ã©ã¹ã¿ãžã®ã¢ããªã±ãŒã·ã§ã³ã®ã€ã³ã¹ããŒã«ã«é¢ããããã¥ã¡ã³ããšå ã®ãã±ãã
Kubernetes HTTPå¿çã³ãŒããããã³ã°
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
Kubernetesã¯ã©ã¹ã¿ãŒã«GitLab管çã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ããéã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ã容æã«ããé«éåããããã«ãKubernetesããHTTPå¿çã³ãŒããéä¿¡ããããã«ãªããŸããã
ã¯ã©ã¹ã¿ãŒç®¡çããã¥ã¡ã³ããšå ã®ãã±ãã
ç¡å¶éã®ç¡æãŽãŒã«ãã²ã¹ãã²ã¹ããŠãŒã¶ãŒ
ïŒç©¶æ¥µããŽãŒã«ãïŒ
ããŒãžã§ã³11.0ã§ã¯ãUltimateãã©ã³ã®ã²ã¹ããŠãŒã¶ãŒãç¡å¶éã«å°å ¥ããŸããã
çŸåšããŽãŒã«ããã©ã³ã«æ¡åŒµããŠããããããŠãŒã¶ãŒãµãŒããŒã§ããã¯ã©ãŠãSaaSã§ãããæé«ã®GitLab.comæéãã©ã³ã䜿çšããŠããã°ã«ãŒãã¯ã远å è²»çšãªãã§ã²ã¹ãã远å ããããšã§å©çãåŸãããšãã§ããŸãã
ãŠãŒã¶ãŒã¢ã¯ã»ã¹ã®ããã¥ã¡ã³ããšå ã®ãã±ãã
管çè ããŠãŒã¶ãŒã®åœ¹å²ãæããããšãé²ã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ããïŒ
äžéšã®çµç¹ã§ã¯ã管çè ããŠãŒã¶ãŒãšããŠè¡åã§ããããã«ããããšã¯ã管çè ã®ã¢ã¯ã·ã§ã³ãè¡åãããŠãŒã¶ãŒã«èµ·å ãããããã»ãã¥ãªãã£ãªã¹ã¯ã§ãã ãã®åé¡ã解決ããããã«ããã®æ©èœãç¡å¹ã«ã§ããããã«ã«ã¹ã¿ã ãªãã·ã§ã³ã远å ããŸãã
管çè ããŠãŒã¶ãŒããã³å ã®ãã±ãã㮠圹å²ãæããããšãçŠæ¢ããããšã«é¢ããããã¥ã¡ã³ã
TOMLããã³JSONã®ããŒã¯ããŠã³ããã³ããã¿ãŒãã£ã«ã¿ãªã³ã°
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ããã³ããã¿ãŒã¯ãããŒã¯ããŠã³ããã¥ã¡ã³ãã®å é ã«å«ãŸããã¡ã¿ããŒã¿ã§ãããå€ãã®å Žåã JekyllãHugoãªã©ã®éçãµã€ããžã§ãã¬ãŒã¿ãŒã«ãã£ãŠäœ¿çšãããŸãã GitLabããªããžããªå ã®ããŒã¯ããŠã³ãã¡ã€ã«ã衚瀺çšã«HTMLã«å€æããå Žåãããã³ããã¿ãŒã¯ãã®åœ¢åŒãä¿æããããããããããããã«ãã®ãŸãŸè¡šç€ºããŸãã
YAMLïŒ ---
ïŒã®åºåãèšå·ã«å ããŠãGitLabã¯TOMLïŒ +++
ïŒã®åºåãèšå·ãJSONïŒ ;;;
ïŒã®åºåãèšå·ãããã³ä»»æã®ããŒã¿åœ¢åŒããµããŒãã§ããä»»æã®åºåãèšå·ããµããŒãããããã«ãªããŸããã
ãã®æ©èœãæäŸããŠãããTravis Millerã«æè¬ããŸãïŒ
ããã³ããã¿ãŒããã¥ã¡ã³ããšãªãªãžãã«ãã±ãã
ã°ã«ãŒãã»ãã¥ãªãã£ããã·ã¥ããŒãã®èªåDevOpsãµããŒã
ïŒç©¶æ¥µããŽãŒã«ãïŒ
GitLab 11.5ãªãªãŒã¹ïŒ å ã®èšäº ã 翻蚳 ïŒã§ã¯ã SASTã®çµæã衚瀺ããGroup Security PanelããªãªãŒã¹ããŸããã
11.6ã®ãªãªãŒã¹ã§ã¯ãSASTæäœå®çŸ©ã®ææ°ããŒãžã§ã³ã Auto DevOps ãã³ãã¬ãŒãã«è¿œå ããçµæã¯ã°ã«ãŒãã®ã»ãã¥ãªãã£ããã«ãšå®å šã«äºææ§ãããããããŠãŒã¶ãŒã¯äž¡æ¹ã®æ©èœãåæã«äœ¿çšã§ããŸãã
æ³šïŒæ°ããSASTãžã§ããæ±ºå®ããã«ã¯ã GitLab Runner 11.5以äžãå¿ èŠã§ã;ãã®ããã°æçš¿ã«ã€ããŠè©³ããèªãããšãã§ããŸãã
Auto DevOpsã®ããã¥ã¡ã³ããšå ã®ãã±ãã
詳现ãªãªãªãŒã¹ããŒããšæŽæ°/ã€ã³ã¹ããŒã«æé ã¯ãå ã®è±èªã®æçš¿ã§ç¢ºèªã§ããŸãïŒ GitLab 11.6ã¯ããµãŒããŒã¬ã¹ããã³ã°ã«ãŒãã¬ãã«ã®ã¯ã©ã¹ã¿ãŒãšå ±ã«ãªãªãŒã¹ãããŸãã ã
Cattidourdenãrishavantãainonekoãmaryartkeyã¯è±èªããã®ç¿»èš³ã«åãçµã¿ãŸããã