
ã¯ã€ãã¯ã·ãŒã¯ã¬ãããªãŒã¯æ€åº
å°ããªã¯ã¬ãã³ã·ã£ã«ã¯ã誀ã£ãŠè³æ Œæ
å ±ãå
±éãªããžããªã«è»¢éããããšã§ãã ãã ããçµæã¯æ·±å»ãªå ŽåããããŸãã æ»æè
ããã¹ã¯ãŒããŸãã¯APIããŒãåãåããšããã«ã圌ã¯ããªãã®ã¢ã«ãŠã³ããæŒåããããªãããããã¯ããééãäžæ£ã«äœ¿çšããŸãã ããã«ããããå¹æãå¯èœã§ãã1ã€ã®ã¢ã«ãŠã³ãã«ã¢ã¯ã»ã¹ãããšãä»ã®ã¢ã«ãŠã³ãã«ã¢ã¯ã»ã¹ã§ããŸãã å©å®³é¢ä¿ã¯é«ããããç§å¯ã®æŒæŽ©ã«ã€ããŠã§ããã ãæ©ãç¥ãããšãéåžžã«éèŠã§ãã
ãã®ãªãªãŒã¹ã§ã¯ãSASTæ©èœã®äžéšãšããŠç§å¯ãçºèŠãããªãã·ã§ã³ãæäŸããŸãã åã³ãããã¯ãCI / CDãžã§ãã§ç§å¯ãã¹ãã£ã³ããŸãã ç§å¯ããããéçºè
ã¯ããŒãžãªã¯ãšã¹ãã§èŠåãåãåããŸãã æŒããããè³æ Œæ
å ±ããã®å Žã§ç Žæ£ããæ°ããè³æ Œæ
å ±ãäœæããŸãã
é©åãªå€æŽç®¡çã®ç¢ºä¿
æé·ããããè€éã«ãªããšãçµç¹ã®ããŸããŸãªéšåéã®äžè²«æ§ãç¶æããããšãããå°é£ã«ãªããŸãã ã¢ããªã±ãŒã·ã§ã³ã®ãŠãŒã¶ãŒãå€ããªããåå
¥ãé«ããªãã»ã©ãäžæ£ãªã³ãŒããŸãã¯å®å
šã§ãªãã³ãŒãã®ããŒãžã®çµæãæ·±å»ã«ãªããŸãã å€ãã®çµç¹ã«ãšã£ãŠãã³ãŒãåœé ããã§ãã¯ããåã«æ£ããããã»ã¹ãä¿èšŒããããšã¯ããªã¹ã¯ãéåžžã«é«ããããå³ããèŠä»¶ã§ãã
GitLab 11.9ã«ã¯ã ããŒãžèŠæ±ã解決ããããã®ã«ãŒã«ã®ãããã§ãããå€ãã®å¶åŸ¡ãšããå¹ççãªæ§é ããããŸã ã 以åã¯ãèš±å¯ãååŸããã«ã¯ãå人ãŸãã¯ã°ã«ãŒãïŒåã¡ã³ããŒãèš±å¯ãæäŸã§ããïŒã瀺ãã ãã§ååã§ããã ããŒãžãªã¯ãšã¹ãã«ç¹å®ã®å人ãŸãã¯ç¹å®ã®ã°ã«ãŒãã®è€æ°ã®ã¡ã³ããŒããã®èš±å¯ãå¿
èŠã«ãªãããã«ãããã€ãã®ã«ãŒã«ãè¿œå ã§ããããã«ãªããŸããã ããã«ãã³ãŒãææè
æ©èœã¯èš±å¯ã«ãŒã«ã«çµ±åãããŠãããããèš±å¯ãçºè¡ãã人ãç°¡åã«èå¥ã§ããŸãã
ããã«ãããçµç¹ã¯è€éãªè§£æ±ºããã»ã¹ãå®è£
ããªãããã¿ã¹ã¯ãã³ãŒãããã€ãã©ã€ã³ãç£èŠããŒã¿ã衚瀺ãããææ決å®ãšè§£æ±ºããã»ã¹ã®é«éåã«å©çšã§ããåäžã®GitLabã¢ããªã±ãŒã·ã§ã³ã®ã·ã³ãã«ããç¶æã§ããŸãã
ChatOpsããªãŒãã³ãœãŒã¹ã«ãªããŸãã
GitLab ChatOpsã¯ãCI / CDãžã§ããå®è¡ããSlackãMattermostãªã©ã®ãã£ããã¢ããªã±ãŒã·ã§ã³ã§ã¹ããŒã¿ã¹ãçŽæ¥èŠæ±ã§ããå¹ççãªèªååããŒã«ã§ãã ããšããšGitLab 10.6ã§å°å
¥ãããChatOpsã¯ãGitLab Ultimateãµãã¹ã¯ãªãã·ã§ã³ã®äžéšã§ããã 補åéçºæŠç¥ãšãªãŒãã³ãœãŒã¹ãžã®ã³ãããã¡ã³ãã«åºã¥ããŠãæ©èœãã¬ãã«ãäžããŠã決ããŠäžããªãããšããããŸãã
ChatOpsã®å Žåããã®æ©èœã¯ãã¹ãŠã®äººã«ãšã£ãŠæçšã§ãããã³ãã¥ããã£ãžã®åå ã¯æ©èœèªäœã«ã¡ãªãããããããããšãããããŸããã
GitLab 11.9ã§ã¯ãChatOps ã®ãœãŒã¹ã³ãŒããéãããã ãããŒã«ã«ã«ã€ã³ã¹ããŒã«ãããGitLab Coreããã³GitLab.comã§ç¡æã§äœ¿çšã§ããã³ãã¥ããã£ã«å
¬éãããŠããŸãã
ããã«å€ãïŒ
ãã®ãªãªãŒã¹ã§ã¯ã ç£æ»æ©èœã®ãã©ã¡ãŒã¿ãŒ ã ããŒãžãªã¯ãšã¹ãã®è匱æ§ã®æé€ ãã»ãã¥ãªãã£ãžã§ãã®CI / CDãã³ãã¬ãŒããªã©ãå€ãã®åªããæ©èœãå©çšã§ããŸãã
ä»æã®æã䟡å€ã®ããåŸæ¥å¡ïŒ MVP ïŒã¯Marcel Amiraultã§ã
Marcelã¯ãGitLabã®ããã¥ã¡ã³ãã®æ¹åã«åžžã«ååããŠãããŸããã 圌ã¯ç§ãã¡ã®ææžã®å質ãšäœ¿ãããããæ¹åããããã«å€ãã®ããšãããŸãã ã Domo Arigato [ããããããããšãïŒjapãïŒ-çŽã ã]ãã«ã»ã«ãå¿ããæè¬ããŠããŸãïŒ
GitLab 11.9ãªãªãŒã¹ã«è¿œå ãããäž»ãªæ©èœ
ãªããžããªã§ç§å¯ãšè³æ Œæ
å ±ãçºèŠãã
ïŒç©¶æ¥µããŽãŒã«ãïŒ
éçºè
ã¯ãã·ãŒã¯ã¬ãããšè³æ Œæ
å ±ã誀ã£ãŠãªã¢ãŒããªããžããªã«æž¡ãããšããããŸãã ä»ã®äººããã®ãœãŒã¹ã«ã¢ã¯ã»ã¹ã§ããå ŽåããŸãã¯ãããžã§ã¯ããéãããŠããå Žåãæ©å¯æ
å ±ãå
¬éãããæ»æè
ãå±éç°å¢ãªã©ã®ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ããããã«äœ¿çšã§ããŸãã
GitLab 11.9ã«ã¯æ°ãããã¹ããç§å¯æ€åºãããããŸãã ãªããžããªã®ã³ã³ãã³ããã¹ãã£ã³ããŠãAPIããŒããã®ä»ã®æ
å ±ãæ¢ããŸãã GitLabã¯ãããŒãžãªã¯ãšã¹ããŠã£ãžã§ããã®SASTã¬ããŒãããã€ãã©ã€ã³ã¬ããŒããããã³ã»ãã¥ãªãã£ããã«ã«çµæã衚瀺ããŸãã
ã¢ããªã±ãŒã·ã§ã³ã«æ¢ã«SASTãæ¥ç¶ããŠããå Žåã¯ãäœãããå¿
èŠã¯ãããŸããããã®æ°æ©èœãå©çšããŠãã ããã ãŸããããã©ã«ãã®Auto DevOpsæ§æã«ãå«ãŸããŠããŸãã

ããã¥ã¡ã³ã
ææŠãã
ããŒãžãªã¯ãšã¹ã解決ã«ãŒã«
ïŒãã¬ãã¢ã ãã¢ã«ãã£ã¡ã€ããã·ã«ããŒããŽãŒã«ãïŒ
ã³ãŒãã¬ãã¥ãŒã¯ãæåãããã¹ãŠã®ãããžã§ã¯ãã«äžå¯æ¬ ãªèŠçŽ ã§ããã誰ãå€æŽãã¬ãã¥ãŒãã¹ããã¯å¿
ãããæ確ã§ã¯ãããŸããã å€ãã®å Žåãç°ãªãããŒã ïŒéçºããŒã ããŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ããŒã ããããã¯ã·ã§ã³ããŒã ïŒã®ã¬ãã¥ãŒæ
åœè
ãåå ããããšãæãŸããã§ãã
èš±å¯ã«ãŒã«ã䜿çšãããšãã³ãŒãã¬ãã¥ãŒã«åå ãããŠãŒã¶ãŒéã®ããåãã®ããã»ã¹ãæ¹åã§ããŸããèš±å¯ãããæ¿èªè
ã®ãµãŒã¯ã«ãšèš±å¯ã®æå°æ°ã決å®ãããŸãã èš±å¯ã«ãŒã«ã¯ããŒãžãªã¯ãšã¹ããŠã£ãžã§ããã«è¡šç€ºãããããã次ã®ã¬ãã¥ãŒæ
åœè
ããã°ããæå®ã§ããŸãã
GitLab 11.8ã§ã¯ãèš±å¯ã«ãŒã«ã¯ããã©ã«ãã§ç¡å¹ã«ãããŠããŸããã GitLabããŒãžã§ã³11.9以éããããã¯ããã©ã«ãã§å©çšå¯èœã§ãã GitLab 11.3ã§ã¯ããããžã§ã¯ãå
ã®åã
ã®ã³ãŒããæ
åœããããŒã ã¡ã³ããŒãæå®ããã³ãŒãææè
ãªãã·ã§ã³ãå°å
¥ãããŸããã ã³ãŒãææè
æ©èœã¯èš±å¯ã«ãŒã«ã«çµ±åãããŠãããããå€æŽãã¬ãã¥ãŒããé©åãªäººããã€ã§ããã°ããèŠã€ããããšãã§ããŸãã

ããã¥ã¡ã³ã
ææŠãã
ChatOpsãã³ã¢ã«ç§»åãã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ããšããšGitLab Ultimate 10.6ã§å°å
¥ãããChatOpsã¯ãGitLab Coreã«ç§»è¡ããŸããã GitLab ChatOpsã¯ã ã¹ã©ãã·ã¥ã³ãã³ãã®æ©èœã䜿çšããŠSlackãä»ããŠGitLab CIãžã§ããå®è¡ããæ©èœãæäŸããŸã ã
顧客å¿åã®ã¬ããªã³ã°ååã«åŸã£ãŠããã®æ©èœã®ãœãŒã¹ã³ãŒããéããŸãã ããé »ç¹ã«äœ¿çšããããšã§ãã³ãã¥ããã£ã¯ãã倧ããªè²¢ç®ãããŸãã

ããã¥ã¡ã³ã
ææŠãã
ç£æ»æ©èœãã©ã¡ãŒã¿ãŒ
ïŒãã¬ãã¢ã ãã¢ã«ãã£ã¡ã€ããã·ã«ããŒããŽãŒã«ãïŒ
é¢æ°ãã©ã¡ãŒã¿ãŒã®è¿œå ãåé€ãå€æŽãªã©ã®æäœãGitLabç£æ»ãã°ã«èšé²ãããããã«ãªã£ããããäœããã€å€æŽããããã確èªã§ããŸãã äºæ
ãçºçããæè¿äœãå€ãã£ãã®ããèŠãå¿
èŠããããŸããïŒ ãŸãã¯ãæ©èœãã©ã¡ãŒã¿ãã©ã®ããã«å€æŽãããããç£æ»ã®äžéšãšããŠç¢ºèªããå¿
èŠããããŸããïŒ ããã¯éåžžã«ç°¡åã§ãã

ããã¥ã¡ã³ã
ææŠãã
ããŒãžãªã¯ãšã¹ãã®è匱æ§ã®åé€
ïŒç©¶æ¥µããŽãŒã«ãïŒ
ã³ãŒãã®è匱æ§ãè¿
éã«ä¿®æ£ããã«ã¯ãããã»ã¹ãåçŽã«ããå¿
èŠããããŸãã éçºè
ãçŽæ¥çãªè²¬ä»»ã«éäžã§ããããã«ããããšã§ãã»ãã¥ãªãã£ä¿®æ£ãç°¡çŽ åããããšãéèŠã§ãã GitLab 11.7ã§ã¯ãä¿®æ£ãã¡ã€ã«ãææ¡ããŸããããããŠã³ããŒãããŠããŒã«ã«ã«é©çšããå€æŽããªã¢ãŒããªããžããªã«ç§»åããå¿
èŠããããŸããã
GitLab 11.9ã§ã¯ããã®ããã»ã¹ã¯èªååãããŠããŸãã GitLab Webã€ã³ã¿ãŒãã§ã€ã¹ãé¢ããããšãªããè匱æ§ãæé€ããŸãã ããŒãžãªã¯ãšã¹ãã¯è匱æ§æ
å ±ãŠã£ã³ããŠããçŽæ¥äœæããããã®æ°ãããã©ã³ãã«ã¯ãã§ã«ä¿®æ£ãå«ãŸããŠããŸãã åé¡ã解決ãããã©ããã確èªããåŸããã€ãã©ã€ã³ãæ£åžžãªå Žåãå
ã®ãã©ã³ãã«ä¿®æ£ãè¿œå ããŸãã

ããã¥ã¡ã³ã
ææŠãã
ã°ã«ãŒãã»ãã¥ãªãã£ããã«ã«ã³ã³ããã¹ãã£ã³çµæã衚瀺ãã
ïŒç©¶æ¥µããŽãŒã«ãïŒ
ãã®ã°ã«ãŒãã®ã»ãã¥ãªãã£ããã«ã«ãããå°é家ã¯æ¥åäžã®æãéèŠãªåé¡ã«éäžã§ããã¢ããªã±ãŒã·ã§ã³ã«åœ±é¿ãäžããå¯èœæ§ã®ãããã¹ãŠã®è匱æ§ã®æ確ãã€è©³çŽ°ãªæŠèŠãæäŸã§ããŸãã ãã®ãããããã«ã«ã¯å¿
èŠãªãã¹ãŠã®æ
å ±ã1ãæã«å«ãŸãããŠãŒã¶ãŒãè匱æ§ãä¿®æ£ããåã«ããŒã¿ã詳现ã«èª¿ã¹ãããšãã§ããããšãéèŠã§ãã
GitLab 11.9ã§ã¯ãæ¢åã®SASTããã³äŸåé¢ä¿ã¹ãã£ã³çµæã«å ããŠãã³ã³ãããŒã¹ãã£ã³çµæãããŒã«ããŒã«è¿œå ãããŸãã çŸåšãåé¡ã®åå ã«é¢ä¿ãªããã¬ãã¥ãŒå
šäœã1ãæã«ãŸãšããããŠããŸãã

ããã¥ã¡ã³ã
ææŠãã
ã»ãã¥ãªãã£ãžã§ãçšã®CI / CDãã³ãã¬ãŒã
ïŒç©¶æ¥µããŽãŒã«ãïŒ
GitLabã®ã»ãã¥ãªãã£æ©èœã¯éåžžã«é«éã«éçºãããŠãããã³ãŒãã®å¹çãšã»ãã¥ãªãã£ãç¶æããããã«åžžã«æŽæ°ãå¿
èŠã§ãã è€æ°ã®ãããžã§ã¯ãã管çããå Žåããžã§ãã®å®çŸ©ãå€æŽããããšã¯å°é£ã§ãã ãŸããçŸåšã®GitLabã€ã³ã¹ã¿ã³ã¹ãšã®å®å
šãªäºææ§ã«èªä¿¡ããªãå ŽåãGitLabã®ææ°ããŒãžã§ã³ã䜿çšããŠãªã¹ã¯ãåãããšãæãã§ããªãããšãç解ããŠããŸãã
ãã®ãããGitLab 11.7ã§ã¯ã ãã³ãã¬ãŒãã䜿çšããŠãžã§ããå®çŸ©ããããã®æ°ããã¡ã«ããºã ãå°å
¥ããŸããã
GitLab 11.9以éããã¹ãŠã®ã»ãã¥ãªãã£ãžã§ãçšã®çµã¿èŸŒã¿ãã³ãã¬ãŒããæäŸããŸããããšãã°ã察å¿ããããŒãžã§ã³ã®GitLabãšäºææ§ã®ããsast
ããã³dependency_scanning
ã§ãã
ããããæ§æã«çŽæ¥å«ãããšãGitLabã®æ°ããããŒãžã§ã³ã«ã¢ããã°ã¬ãŒããããã³ã«ã·ã¹ãã ã§æŽæ°ãããŸãã ãã€ãã©ã€ã³æ§æã¯å€æŽãããŸããã
ã»ãã¥ãªãã£ãžã§ããå®çŸ©ããæ°ããæ¹æ³ã¯å
¬åŒã§ããã以åã®ãžã§ãå®çŸ©ãã³ãŒãã¹ããããããµããŒãããŠããŸããã æ°ããtemplate
ããŒã¯ãŒãã䜿çšããã«ã¯ãã§ããã ãæ©ãå®çŸ©ãæŽæ°ããŠãã ããã ä»ã®æ§æã®ãµããŒãã¯ãGitLab 12.0ãŸãã¯ãã®ä»ã®å°æ¥ã®ãªãªãŒã¹ã§åé€ãããå¯èœæ§ããããŸãã

ããã¥ã¡ã³ã
ææŠãã
GitLab 11.9ã®ãã®ä»ã®æ¹åç¹
ã³ã¡ã³ãã«è¿ä¿¡
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
GitLabã«ã¯ãããã¯ã«é¢ããè°è«ããããŸãã ãããŸã§ãæåã®ã³ã¡ã³ããæžããŠãããŠãŒã¶ãŒã¯ãæåããè°è«ãå¿
èŠãã©ãããå€æããªããã°ãªããŸããã§ããã
ãã®å¶éãç·©åããŸããã GitLabã§ã³ã¡ã³ãïŒã¿ã¹ã¯ãããŒãžãªã¯ãšã¹ãããšããã¯ã«ã€ããŠïŒãåãåããããã«ã³ã¡ã³ãããŠããã£ã¹ã«ãã·ã§ã³ãéå§ããŸãã ãããã£ãŠãããŒã ã¯ããçµç¹çã«å¯Ÿè©±ããŸãã

ããã¥ã¡ã³ã
ææŠãã
.NETãGoãiOSãããã³ããŒãžã®ãããžã§ã¯ããã³ãã¬ãŒã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ãŠãŒã¶ãŒãæ°ãããããžã§ã¯ããç°¡åã«äœæã§ããããã«ãããã€ãã®æ°ãããããžã§ã¯ããã³ãã¬ãŒããæäŸããŠããŸãã
ããã¥ã¡ã³ã
ãšããã¯
ã³ãŒãææè
ããã®ããã³ãããŒãžãªã¯ãšã¹ã
ïŒãã¬ãã¢ã ãã¢ã«ãã£ã¡ã€ããã·ã«ããŒããŽãŒã«ãïŒ
誰ãããŒãžèŠæ±ãæ¿èªãããã¯å¿
ãããæããã§ã¯ãããŸããã
GitLabã¯ã ã³ãŒãææè
ã䜿çšããŠããªã¯ãšã¹ããå€æŽãããã¡ã€ã«ã«å¿ããŠãããŒãžãªã¯ãšã¹ããæ¿èªããèŠä»¶ããµããŒãããããã«ãªããŸããã ã³ãŒãææè
ã¯CODEOWNERS
ã«äŒŒã圢åŒã§ããCODEOWNERS
ãšåŒã°ãããã¡ã€ã«ã䜿çšããŠå²ãåœãŠãããŸãã
ããŒãžãªã¯ãšã¹ãã®æ¿èªè²¬ä»»è
ãšããŠã®ã³ãŒãææè
ã®èªåæå®ã®ãµããŒããGitLab 11.5ã«è¿œå ãããŸãã ã
ããã¥ã¡ã³ã
ææŠãã
Web IDEã§ã®ãã¡ã€ã«ã®ç§»å
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ããã§ããã¡ã€ã«ãŸãã¯ãã£ã¬ã¯ããªã®ååãå€æŽããããšã§ãæ°ããæ¹æ³ã§Web IDEãããªããžããªã«ç§»åã§ããŸãã

ããã¥ã¡ã³ã
ææŠãã
ã¢ã«ãã¡ãããé ã®ã©ãã«
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
GitLabã¿ã°ã¯éåžžã«æ±çšæ§ãé«ããããŒã ã¯åžžã«æ°ããçšéãèŠã€ããŠããŸãã ãããã£ãŠããŠãŒã¶ãŒã¯å€ãã®ã¿ã°ãã¿ã¹ã¯ãããŒãžèŠæ±ããŸãã¯åäºè©©ã«è¿œå ããããšããããããŸãã
GitLab 11.9ã§ã¯ãã¿ã°ä»ããå°ãç°¡åã«ãªããŸããã ã¿ã¹ã¯ãããŒãžãªã¯ãšã¹ãããšããã¯ã§ã¯ããµã€ãããŒã«è¡šç€ºãããã©ãã«ã¯ã¢ã«ãã¡ãããé ã«é
眮ãããŸãã ããã¯ããããã®ãªããžã§ã¯ãã®ãªã¹ãã®è¡šç€ºã«ãé©çšãããŸãã

ããã¥ã¡ã³ã
ææŠãã
ã¿ã¹ã¯ã¢ã¯ã·ã§ã³ããã£ã«ã¿ãªã³ã°ããéã®ã¯ã€ãã¯ã³ã¡ã³ã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
æè¿ããŠãŒã¶ãŒãã¿ã¹ã¯ãããŒãžèŠæ±ããŸãã¯åäºè©©ã«ãã£ãŠã¢ã¯ã·ã§ã³ããã£ã«ã¿ãŒåŠçããæ©èœãå°å
¥ããŸãããããã«ãããã³ã¡ã³ããŸãã¯ã·ã¹ãã ããŒãã®ã¿ã«éäžã§ããŸãã ãã®ãã©ã¡ãŒã¿ãŒã¯ã·ã¹ãã å
ã®ãŠãŒã¶ãŒããšã«ä¿åãããŸããããŠãŒã¶ãŒã¯ãæ°æ¥åŸã«ã¿ã¹ã¯ãèŠãŠããã£ã«ã¿ãŒåŠçãããããŒããèŠãããšã«æ°ä»ããªãå ŽåããããŸãã 圌ã«ã¯ã³ã¡ã³ããæ®ããªãããã§ãã
ãã®çžäºäœçšãæ¹åããŸããã ãŠãŒã¶ãŒã¯ãäžçªäžãŸã§ã¹ã¯ããŒã«ããã«ã³ã¡ã³ããæ®ãããšãã§ããã¢ãŒãã«ãã°ããåãæ¿ããããšãã§ããŸãã ããã¯ãã¿ã¹ã¯ãããŒãžèŠæ±ããšããã¯ã«é©çšãããŸãã

ããã¥ã¡ã³ã
ææŠãã
åãšããã¯ã®äžŠã¹æ¿ã
ïŒç©¶æ¥µããŽãŒã«ãïŒ
å
æ¥ãïŒåäŸã®ãšããã¯ã¿ã¹ã¯ã«å ããŠïŒãšããã¯ãšããã¯ã䜿çšã§ããåãšããã¯ããªãªãŒã¹ããŸããã
åã¿ã¹ã¯ã®å Žåã®ããã«ããã©ãã°ã¢ã³ãããããããã ãã§åãšããã¯ãšããã¯ã®é åºãå€æŽã§ããããã«ãªããŸããã ããŒã ã¯é åºã䜿çšããŠåªå
é äœãåæ ããããäœæ¥ã®å®è¡æ¹æ³ã決å®ãããã§ããŸãã

ããã¥ã¡ã³ã
ææŠãã
Webããã³é»åã¡ãŒã«ã®ã«ã¹ã¿ã ããããŒããã³ããã¿ãŒã·ã¹ãã ã¡ãã»ãŒãž
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ããïŒ
以åã«ãGitLabã®ãã¹ãŠã®ããŒãžã«ã«ã¹ã¿ã ããããŒããã³ããã¿ãŒã¡ãã»ãŒãžã衚瀺ã§ããæ©èœãè¿œå ããŸããã 圌ãã¯æãã圌女ã«äŒããããŒã ã¯åœŒå¥³ã䜿çšããŠéèŠãªæ
å ±ã亀æããŸãããããšãã°ãGitLabã€ã³ã¹ã¿ã³ã¹ã«é¢é£ããã·ã¹ãã ã¡ãã»ãŒãžã§ãã
Coreã§ãã®æ©èœãå°å
¥ã§ããããšãããããæããŸãããã®ãããããã«å€ãã®äººã䜿çšã§ããããã«ãªããŸããã ããã«ãGitLabãšã®å¥ã®ãŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ãã€ã³ããšã®äžè²«æ§ãä¿ã€ãããGitLabãä»ããŠéä¿¡ããããã¹ãŠã®é»åã¡ãŒã«ã«ãŠãŒã¶ãŒããªãã·ã§ã³ã§åãã¡ãã»ãŒãžã衚瀺ã§ããããã«ããŸãã

ããã¥ã¡ã³ã
ææŠãã
æ©å¯ã¿ã¹ã¯ãã£ã«ã¿ãŒ
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
æ©å¯ã¿ã¹ã¯-ããã¯ããŒã ã«ãšã£ãŠäŸ¿å©ãªããŒã«ã§ããããªãŒãã³ãããžã§ã¯ãã®äžç°ãšããŠæ©å¯ãããã¯ã«é¢ãããã©ã€ããŒããã£ã¹ã«ãã·ã§ã³ãè¡ãããšãã§ããŸãã ç¹ã«ãã»ãã¥ãªãã£ã®è匱æ§ã«åãçµãã®ã«çæ³çã§ãã ãããŸã§ãæ©å¯ã¿ã¹ã¯ã®ç®¡çã¯ããã»ã©ç°¡åã§ã¯ãããŸããã§ããã
GitLab 11.9ã§ã¯ãGitLabã¿ã¹ã¯ãªã¹ããæ©å¯ã¿ã¹ã¯ãŸãã¯éæ©å¯ã¿ã¹ã¯ã«ãã£ãŠãã£ã«ã¿ãªã³ã°ãããããã«ãªããŸããã ããã¯ãAPIã«ããã¿ã¹ã¯ã®æ€çŽ¢ã«ãé©çšãããŸãã
ãããŒãã»ã·ãªã³ã°ã®è²¢ç®ã«æè¬ããŸãïŒ

ããã¥ã¡ã³ã
ææŠãã
å±éåŸã®ãã€ãã£ããã¡ã€ã³ç·šé
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
Knativeã®ã€ã³ã¹ããŒã«æã«ã«ã¹ã¿ã ãã¡ã€ã³ãæå®ãããšãäžæã®ãšã³ããã€ã³ãããããŸããŸãªãµãŒããŒã¬ã¹ã¢ããªã±ãŒã·ã§ã³/æ©èœãæäŸã§ããŸãã
KubernetesãGitLabã«çµ±åãããšãKnativeãKubernetesã¯ã©ã¹ã¿ãŒã«ãããã€ããåŸã«ãŠãŒã¶ãŒãã¡ã€ã³ãå€æŽ/æŽæ°ã§ããããã«ãªããŸããã
ããã¥ã¡ã³ã
ææŠãã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
æ¢åã®Kubernetesã¯ã©ã¹ã¿ãŒãè¿œå ãããšããGitLabã¯å
¥åãããCA蚌ææžãæå¹ãªPEM圢åŒãæã£ãŠããããšã確èªããããã«ãªããŸããã ããã«ãããKubernetesçµ±åã§çºçããå¯èœæ§ã®ãããã°ãæé€ãããŸãã
ããã¥ã¡ã³ã
ææŠãã
ããŒãžèŠæ±æ¯èŒãŠãŒãã£ãªãã£ã®ãã¡ã€ã«å
šäœãžã®æ¡åŒµ
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ããŒãžãªã¯ãšã¹ãã®å€æŽã確èªãããšãåãã¡ã€ã«ã®æ¯èŒãŠãŒãã£ãªãã£ãå±éããŠãã³ã³ããã¹ãå
šäœã®ãã¡ã€ã«å
šäœã衚瀺ããå€æŽã®ãªãè¡ã«ã³ã¡ã³ããæ®ãããšãã§ããŸãã

ããã¥ã¡ã³ã
ææŠãã
ç¹å®ã®ãã¡ã€ã«ãå€æŽããããšãã«ã®ã¿ç¹å®ã®ããŒãžèŠæ±ãžã§ããå®è¡ãã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
GitLab 11.6ã§ã¯ããã€ããžã§ãã®only: merge_requests
ãå®çŸ©ããæ©èœãè¿œå ãããããããŠãŒã¶ãŒã¯ããŒãžãªã¯ãšã¹ãã®äœææã«ã®ã¿ç¹å®ã®ã¿ã¹ã¯ãå®è¡ã§ããŸãã
çŸåšããã®æ©èœãæ¡åŒµããŠããŸãïŒ only: changes
æ¥ç¶ããžãã¯ãè¿œå ãããŠããããŠãŒã¶ãŒã¯ããŒãžèŠæ±ã«å¯ŸããŠã®ã¿ãç¹å®ã®ãã¡ã€ã«ãå€æŽããããšãã«ã®ã¿ç¹å®ã®ãžã§ããå®è¡ã§ããŸãã
äœè€åä¹ã®è²¢ç®ã«æè¬ããŸãïŒ
ããã¥ã¡ã³ã
ææŠãã
Grafanaã«ããèªåGitLabã¢ãã¿ãªã³ã°
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ããïŒ
Grafanaã¯çŸåšãOmnibusããã±ãŒãžã®äžéšã§ãããããã€ã³ã¹ã¿ã³ã¹ã®æ©èœãç°¡åã«ç解ã§ããŸãã
grafana['enable'] = true
ã«gitlab.rb
ãšãGrafanaã¯https://your.gitlab.instance/-/grafana
ã§å©çšå¯èœã«ãªããŸãã è¿ãå°æ¥ã GitLabããŒã«ããŒãããã«äœ¿çšã§ããããã«ãªããŸãã
ããã¥ã¡ã³ã
ææŠãã
ãšããã¯ã®ãµã€ãããŒã§ãã©ã€ããªãšããã¯ã衚瀺ãã
ïŒç©¶æ¥µããŽãŒã«ãïŒ
æè¿ããšããã¯ãšããã¯ã䜿çšã§ããåšãšããã¯ãå°å
¥ããŸããã
GitLab 11.9ã§ã¯ããã®é¢ä¿ã衚瀺ããã¡ã«ããºã ãç°¡çŽ åããŸããã ããã§ãæå®ããããšããã¯ã®æ¯äœã®ãšããã¯ã ãã§ãªããå³åŽã®ãµã€ãããã«ã«ãšããã¯ããªãŒå
šäœã衚瀺ãããŸãã ãããã®åäºè©©ãéããŠãããã©ãããèŠãããšãã§ããçŽæ¥ãããã«è¡ãããšããã§ããŸãã

ããã¥ã¡ã³ã
ææŠãã
移åããŠéããã¿ã¹ã¯ããæ°ããã¿ã¹ã¯ãžã®ãªã³ã¯
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
GitLabã§ã¯ããµã€ãããŒãŸãã¯ã¯ã€ãã¯ã¢ã¯ã·ã§ã³ã䜿çšããŠãã¿ã¹ã¯ãå¥ã®ãããžã§ã¯ãã«ç°¡åã«ç§»åã§ããŸãã èå°è£ã§ã¯ãæ¢åã®ã¿ã¹ã¯ãéããããã·ã¹ãã ããŒãããµã€ãããŒå±æ§ãå«ããã¹ãŠã®ã³ããŒãããããŒã¿ã䜿çšããŠãã¿ãŒã²ãããããžã§ã¯ãã«æ°ããã¿ã¹ã¯ãäœæãããŸãã ããã¯çŽ æŽãããæ©èœã§ãã
移åã«é¢ããã·ã¹ãã ããŒããããããããŠãŒã¶ãŒã¯ãéããã¿ã¹ã¯ã衚瀺ãããšãã«å°æããŸãããŠãŒã¶ãŒã¯ã移åã«ããã¿ã¹ã¯ãéããããŠããããšãç解ããã«ã¯ããããŸããã
ãã®ãªãªãŒã¹ã§ã¯ãéããããã¿ã¹ã¯ããŒãžã®äžéšã«ããã¢ã€ã³ã³äžã«ç§»åãããããšã瀺ããæ°ããã¿ã¹ã¯ãžã®çµã¿èŸŒã¿ãªã³ã¯ãå«ããŠãå€ãã¿ã¹ã¯ã«ã¢ã¯ã»ã¹ãã人ãããã«æ°ããã¿ã¹ã¯ã«åãæ¿ããããããã«ããŸãã

ããã¥ã¡ã³ã
ææŠãã
YouTrackçµ±å
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
GitLabã¯å€ãã®å€éšã¿ã¹ã¯è¿œè·¡ã·ã¹ãã ãšçµ±åãããŠãããããããŒã ãéžæããã¿ã¹ã¯ç®¡çããŒã«ãç¶æããªãããä»ã®æ©èœã«GitLabãç°¡åã«äœ¿çšã§ããŸãã
ãã®ãªãªãŒã¹ã§ã¯ãJetBrains YouTrackçµ±åæ©èœãè¿œå ããŸããã
Kotova EugeneïŒ Kotau Yauhen ïŒã®è²¢ç®ã«æè¬ããŸãïŒ

ããã¥ã¡ã³ã
ææŠãã
ããŒãžãªã¯ãšã¹ããã¡ã€ã«ããªãŒã®ãµã€ãºå€æŽ
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ããŒãžèŠæ±ã®å€æŽã衚瀺ãããšãã«ããã¡ã€ã«ããªãŒã®ãµã€ãºãå€æŽããŠé·ããã¡ã€ã«åã衚瀺ããããå°ããªç»é¢ã«ã¹ããŒã¹ãç¯çŽãããã§ããããã«ãªããŸããã

ããã¥ã¡ã³ã
ææŠãã
ææ°ã®ã¿ã¹ã¯ããŒã«ç§»åããŸã
ïŒã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ã€ããããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ã¿ã¹ã¯ããŒã¯éåžžã«äŸ¿å©ã§ãããŒã ã¯åãããžã§ã¯ããšã°ã«ãŒãã«è€æ°ã®ããã«ãäœæããŸãã èå³ã®ãããã¹ãŠã®ããŒããã°ãããã£ã«ã¿ãªã³ã°ããããã®æ€çŽ¢ããŒãæè¿è¿œå ããŸããã
GitLab 11.9ã§ã¯ãããããããŠã³ãªã¹ãã«[ æè¿]ã»ã¯ã·ã§ã³ãå°å
¥ãããŸããã ããã«ãããæè¿æäœããããã«ã«ãã°ãããžã£ã³ãã§ããŸãã

ããã¥ã¡ã³ã
ææŠãã
éçºè
ãå®å
šãªãã©ã³ããäœæããæ©èœ
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ä¿è·ããããã©ã³ãã¯ãåç
§ãããŠããªãã³ãŒãã®ç§»åãŸãã¯ç¹æ»
ãé²ããŸãã ãã ããä¿è·ããããã©ã³ãã®ç§»åãèš±å¯ãããŠããªãå Žåã誰ãæ°ããä¿è·ããããã©ã³ãïŒãªãªãŒã¹ãã©ã³ããªã©ïŒãäœæã§ããŸããã
GitLab 11.9ã§ã¯ãéçºè
ã¯GitLabãŸãã¯APIãä»ããŠãæ¢ã«ã»ãã¥ãªãã£ã§ä¿è·ããããã©ã³ãããã»ãã¥ãªãã£ã§ä¿è·ããããã©ã³ããäœæã§ããŸãã 誀ã£ãŠæ°ããä¿è·ããããã©ã³ããäœæããªãããã«ãGitã䜿çšããŠæ°ããä¿è·ããããã©ã³ãã移åããããšã¯ãŸã å¶éãããŠããŸãã
ããã¥ã¡ã³ã
ææŠãã
ãªãŒãã³ãã©ã³ãã®Gitãªããžã§ã¯ãã®éè€æé€ïŒããŒã¿ïŒ
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ããïŒ
åå²ã«ããã誰ã§ããªãŒãã³ãœãŒã¹ãããžã§ã¯ãã«åå ã§ããŸããæžã蟌ã¿æš©éããªããŠãããªããžããªãæ°ãããããžã§ã¯ãã«ã³ããŒããã ãã§ãã é »ç¹ã«åå²ããGitãªããžããªã®å®å
šãªã³ããŒãä¿æããããšã¯éå¹ççã§ãã Gitã®alternatives
ã«ããalternatives
ãã©ãŒã¯ã¯ãªããžã§ã¯ãããŒã«ã®èŠªãããžã§ã¯ãããã®å
±éãªããžã§ã¯ããå
±æãããã£ã¹ã¯ã¹ãã¬ãŒãžèŠä»¶ãåæžããŸãã
åå²ãªããžã§ã¯ãããŒã«ã¯ãããã·ã¥ã¹ãã¬ãŒãžãæ¥ç¶ãããŠããå Žåã«ã®ã¿ãéããŠãããããžã§ã¯ãã«å¯ŸããŠäœæãããŸãã ãªããžã§ã¯ãããŒã«ã¯ã object_pools
é¢æ°object_pools
ã䜿çšããŠobject_pools
ãobject_pools
ã
ããã¥ã¡ã³ã
ãšããã¯
æå®ãããæ¿èªè
ã«ããããŒãžãªã¯ãšã¹ãã®ãªã¹ãã®ãã£ã«ã¿ãªã³ã°
ïŒã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ã€ããããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ã³ãŒãã®ã¬ãã¥ãŒã¯ãæåãããããžã§ã¯ãã®äžè¬çãªæ
£è¡ã§ãããã¬ãã¥ãŒæ
åœè
ãããŒãžãªã¯ãšã¹ãã远跡ããã®ã¯é£ããå ŽåããããŸãã
GitLab 11.9ã§ã¯ãããŒãžãªã¯ãšã¹ãã®ãªã¹ãã¯ãæå®ãããæ¿èªè
ã«ãã£ãŠãã£ã«ã¿ãªã³ã°ãããŸãã ãããã£ãŠãã¬ãã¥ãŒæ
åœè
ãšããŠè¿œå ãããããŒãžèŠæ±ãèŠã€ããããšãã§ããŸãã
Glavin Wiechertã®è²¢ç®ã«æè¬ããŸãïŒ

ããã¥ã¡ã³ã
ææŠãã
ããŒãžãªã¯ãšã¹ãã®æ¬¡ããã³åã®ãã¡ã€ã«ã®ããŒããŒãã·ã§ãŒãã«ãã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ããŒãžãªã¯ãšã¹ãã®å€æŽã確èªãããšã ]
ãŸãã¯j
ã䜿çšããŠæ¬¡ã®ãã¡ã€ã«ã«ç§»åãã [
ãŸãã¯k
ã䜿çšããŠåã®ãã¡ã€ã«ã«ç§»åããŠããã¡ã€ã«ããã°ããåãæ¿ããããšãã§ããŸãã
ããã¥ã¡ã³ããŒã·ã§ã³
ææŠãã
ãµãŒããŒã¬ã¹ãããžã§ã¯ãã®.gitlab-ci.yml
ç°¡çŽ å
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
include
GitLab CIæ©èœã«åºã¥ããŠããµãŒããŒã¬ã¹gitlab-ci.yml
倧å¹
ã«ç°¡çŽ åãããŸããã å°æ¥ã®ãªãªãŒã¹ã§æ°æ©èœãå°å
¥ããããã«ããã®ãã¡ã€ã«ãå€æŽããå¿
èŠã¯ãããŸããã
ããã¥ã¡ã³ã
ææŠãã
å
¥åãã¹ãåã®ãµããŒã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
Kubernetes Ingressã³ã³ãããŒã©ãŒã®å±éäžã«ãäžéšã®ãã©ãããã©ãŒã ã¯IPã¢ãã¬ã¹ïŒããšãã°ãGoogleããã®GKEïŒã«æ»ããä»ã®ãã©ãããã©ãŒã ã¯DNSåïŒããšãã°ãAWSããã®EKSïŒã«æ»ããŸãã
Kubernetesã®çµ±åã¯ããããžã§ã¯ãã®clusters
ã»ã¯ã·ã§ã³ã«è¡šç€ºããããã«äž¡æ¹ã®ã¿ã€ãã®ãšã³ããã€ã³ãããµããŒãããããã«ãªããŸããã
ã¢ãŒãã³ãŠã©ãŒã«ãŒã®è²¢ç®ã«æè¬ããŸãïŒ
ããã¥ã¡ã³ã
ææŠãã
ã°ã«ãŒã/ãããžã§ã¯ãã®ã¡ã³ããŒã®ã¿ã«JupyterHubã«å
¥ãããã®ã¢ã¯ã»ã¹ãå¶éãã
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
GitLabãšKubernetesã®çµ±åã䜿çšããŠJupyterHubããããã€ããããšã¯ãJupyter Notebookã倧èŠæš¡ãªã°ã«ãŒãã§ç¶æããã³äœ¿çšããããã®åªããæ¹æ³ã§ãã ãŸããæ©å¯ããŒã¿ãå人ããŒã¿ãéä¿¡ãããšãã«ãããããžã®ã¢ã¯ã»ã¹ãå¶åŸ¡ããããšã圹ç«ã¡ãŸãã
GitLab 11.9ã§ã¯ãKubernetesãä»ããŠãããã€ãããJupyterHubã€ã³ã¹ã¿ã³ã¹ã«ãã°ã€ã³ããæ©èœã¯ãïŒã°ã«ãŒããŸãã¯ãããžã§ã¯ããä»ããïŒãéçºè
ãã¢ã¯ã»ã¹ã¬ãã«ãæã€ãããžã§ã¯ãã¡ã³ããŒã«å¶éãããŠããŸãã
ããã¥ã¡ã³ã
ææŠãã
ã»ãã¥ãªãã£ããã«å³ã®æ§æå¯èœãªæéç¯å²
ïŒç©¶æ¥µããŽãŒã«ãïŒ
ã°ã«ãŒãã»ãã¥ãªãã£ããã«ã«ã¯ãã°ã«ãŒããããžã§ã¯ãã®çŸåšã®ã»ãã¥ãªãã£ã¹ããŒã¿ã¹ã確èªããããã®è匱æ§ã¹ããŒã ãå«ãŸããŠããŸãã ããã¯ãã»ãã¥ãªãã£ãã£ã¬ã¯ã¿ãŒãããã»ã¹ãèšå®ããããŒã ã®äœæ¥ã¡ã«ããºã ãç解ããã®ã«éåžžã«åœ¹ç«ã¡ãŸãã
GitLab 11.9ã§ã¯ããã®è匱æ§ã¹ããŒã ã®æéç¯å²ãéžæã§ããããã«ãªããŸããã ããã©ã«ãã§ã¯ãããã¯éå»90æ¥éã§ãããå¿
èŠãªè©³çŽ°ã¬ãã«ã«å¿ããŠãééã60ãŸãã¯30æ¥ã«èšå®ã§ããŸãã
ããã¯ãã«ãŠã³ã¿ãŒãŸãã¯ãªã¹ãå
ã®ããŒã¿ã«ã¯åœ±é¿ããããã€ã¢ã°ã©ã ã«è¡šç€ºãããããŒã¿ãã€ã³ãã®ã¿ã«åœ±é¿ããŸãã

ããã¥ã¡ã³ã
ææŠãã
ã¿ã°ã®èªåDevOpsãã«ããžã§ãã®è¿œå
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
Auto Dev Stage Auto DevOpsã¯ãDockerfileãããžã§ã¯ããŸãã¯Herokuãã«ãããã±ãŒãžã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ããã«ãããŸãã
GitLab 11.9ã§ã¯ãã¿ã°ã®ãã€ãã©ã€ã³ã«åã蟌ãŸããçµæã®Dockerã€ã¡ãŒãžã¯ãSHAã³ãããã®ä»£ããã«ã¿ã°ã³ãããã䜿çšããŠãåŸæ¥ã®ã€ã¡ãŒãžåã«äŒŒãååãååŸããŸãã
ã¢ãŒãã³ãŠã©ãŒã«ãŒã®è²¢ç®ã«æè¬ããŸãïŒ
Code Climateã®ããŒãžã§ã³0.83.0ãžã®æŽæ°
ïŒã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ã€ããããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
GitLab Code Qualityã¯ãCode Climateãšã³ãžã³ã䜿çšããŠãå€æŽãã³ãŒãããã³ãããžã§ã¯ãã®ç¶æ
ã«ã©ã®ããã«åœ±é¿ãããã確èªããŸãã
GitLab 11.9ã§ã¯ããšã³ãžã³ãææ°ããŒãžã§ã³ïŒ 0.83.0 ïŒã«ã¢ããã°ã¬ãŒãããŠãè¿œå ã®èšèªã®å©ç¹ãšGitLabã³ãŒãå質ã®éçåæãµããŒããæäŸããŸããã
GitLab CoreããŒã ã®ã¡ã³ããŒã§ããéå£æä¹ã®è²¢ç®ã«æè¬ããŸãïŒ
ããã¥ã¡ã³ã
ææŠãã
ã¡ããªãã¯ããã«ã®ãºãŒã ãšã¹ã¯ããŒã«
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ããã©ãŒãã³ã¹ã®ç°åžžã調æ»ããå Žåãç¹å®ã®ã¡ããªãã¯ã®åã
ã®éšåã詳ãã調ã¹ãããšã圹ç«ã€ããšããããããŸãã
GitLab 11.9ã§ã¯ããŠãŒã¶ãŒã¯ã¡ããªãã¯ããã«ã§åã
ã®æéãã¹ã±ãŒãªã³ã°ããæéå
šäœãã¹ã¯ããŒã«ããŠãå
ã®æéééãã¥ãŒã«ç°¡åã«æ»ãããšãã§ããŸãã ããã«ãããç®çã®ã€ãã³ããç°¡åãã€è¿
éã«æ¢çŽ¢ã§ããŸãã

ããã¥ã¡ã³ã
ææŠãã
TypeScriptã®SAST
ïŒç©¶æ¥µããŽãŒã«ãïŒ
TypeScriptã¯ãæ¯èŒçæ°ããJavaScriptããŒã¹ã®ããã°ã©ãã³ã°èšèªã§ãã
GitLab 11.9ã§ã¯ãéçã¢ããªã±ãŒã·ã§ã³ã»ãã¥ãªãã£ãã¹ãïŒSASTïŒæ©èœã¯ãããŒãžãªã¯ãšã¹ããŠã£ãžã§ããããã€ãã©ã€ã³ãããã³ã»ãã¥ãªãã£ããã«ã§TypeScriptã³ãŒãã®è匱æ§ãå®èšŒããããšã«ãããããããåæããã³æ€åºããŸãã sast sast
ã®çŸåšã®å®çŸ©ãå€æŽããå¿
èŠã¯ãªãã Auto DevOpsã«ãèªåçã«å«ãŸããŸãã
ããã¥ã¡ã³ã
ææŠãã
Mavenãã«ãã¢ãžã¥ãŒã«ãããžã§ã¯ãã®SAST
ïŒç©¶æ¥µããŽãŒã«ãïŒ
Mavenãããžã§ã¯ãã¯ãå€ãã®å Žåã è€æ°ã®ã¢ãžã¥ãŒã«ã1ã€ã®ãªããžããªã«çµåããããã«ç·šæãããŸãã 以åã¯ãGitLabã¯ãã®ãããªãããžã§ã¯ããæ£ããã¹ãã£ã³ã§ãããéçºè
ãšã»ãã¥ãªãã£ã¹ãã·ã£ãªã¹ãã¯è匱æ§ã¬ããŒããåãåããŸããã§ããã
GitLab 11.9ã¯ããã®ç¹å®ã®ãããžã§ã¯ãæ§æã®SASTæ©èœã®ãµããŒãã匷åããåæç¶æ
ã®è匱æ§ããã¹ãããæ©èœãæäŸããŸãã ã¢ãã©ã€ã¶ãŒã®æè»æ§ã«ãããæ§æã¯èªåçã«æ±ºå®ããããã«ãã¢ãžã¥ãŒã«Mavenã¢ããªã±ãŒã·ã§ã³ã®çµæã衚瀺ããããã«äœãå€æŽããå¿
èŠã¯ãããŸããã éåžžã©ããã Auto DevOpsã®äžéšãšããŠåæ§ã®æ©èœåŒ·åãå©çšã§ããŸãã
ããã¥ã¡ã³ã
ææŠãã
GitLab Runner 11.9
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
æ¬æ¥ãGitLab Runner 11.9ããªãªãŒã¹ããŸããïŒ GitLab Runnerã¯ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã§ãããCI / CDãžã§ããå®è¡ããçµæãGitLabã«éãè¿ãããã«äœ¿çšãããŸãã
以äžã¯ãGitLab Runner 11.9ã®å€æŽç¹ã§ãã
å€æŽã®å®å
šãªãªã¹ãã¯ãGitLab Runnerå€æŽãã°CHANGELOGã«ãããŸãã
ããã¥ã¡ã³ã
GitLabã¹ããŒãã®æ¹å
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ããïŒ
GitLabãã£ãŒãã«ä»¥äžã®æ¹åãå ããããŸããã
- Google Cloud Memorystoreã®ãµããŒããè¿œå ãããŸããã
- cronãžã§ãèšå®ã¯ãããã€ãã®ãµãŒãã¹ã§äœ¿çšãããããã ã°ããŒãã«ã«ãªããŸããã
- ã¬ãžã¹ããªã¯ããŒãžã§ã³2.7.1ã«æŽæ°ãããŸããã
- GitLabã¬ãžã¹ããªãš1.10ããåã®DockerããŒãžã§ã³ãšã®äºææ§ã確ä¿ããããã«ãæ°ãããã©ã¡ãŒã¿ãŒãè¿œå ãããŸããã æå¹ã«ããã«ã¯ã
registry.compatibility.schema1.enabled: true
èšå®ãregistry.compatibility.schema1.enabled: true
ã
ããã¥ã¡ã³ã
ããã©ãŒãã³ã¹ã®æ¹å
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ãããããªãŒãããã³ãºãã·ã«ããŒããŽãŒã«ãïŒ
ãããããµã€ãºã®GitLabã€ã³ã¹ã¿ã³ã¹ã®ãªãªãŒã¹ããšã«ãGitLabã®ããã©ãŒãã³ã¹ãæ¹åãç¶ããŠããŸãã GitLab 11.9ã®æ¹åç¹ã¯æ¬¡ã®ãšããã§ãã
ããã©ãŒãã³ã¹ã®åŒ·å
ãªã ããã¹ã®æ©èœåŒ·å
ïŒã³ã¢ãã¹ã¿ãŒã¿ãŒããã¬ãã¢ã ãã¢ã«ãã£ã¡ããïŒ
GitLab 11.9ã«ã¯ã次ã®Omnibusæ¡åŒµæ©èœãå«ãŸããŠããŸãã
- GitLab 11.9ã«ã¯ã Mattermost 5.8ãå«ãŸããŠããŸããããã¯ã Slackã®ä»£æ¿ãšãªããªãŒãã³ãœãŒã¹ã§ãã ããã®ææ°ãªãªãŒã¹ã«ã¯ãTeam Editionã®MFAã匷åãããç»åããã©ãŒãã³ã¹ãªã©ãå«ãŸããŸãã ãã®ããŒãžã§ã³ã«ã¯ã»ãã¥ãªãã£åŒ·åãå«ãŸããŠããŸãã æšå¥šã¢ããããŒãã
- GitLabã¬ãžã¹ããªãš1.10ããåã®DockerããŒãžã§ã³ãšã®äºææ§ã確ä¿ããããã«ãæ°ãããã©ã¡ãŒã¿ãŒãè¿œå ãããŸããã æå¹ã«ããã«ã¯ã
registry['compatibility_schema1_enabled'] = true gitlab.rb
ãŸãã - GitLabã¬ãžã¹ããªã¯Prometheusã¡ããªãã¯ããšã¯ã¹ããŒãããããã«ãªããå«ãŸããŠããPrometheusãµãŒãã¹ã«ãã£ãŠèªåçã«å¶åŸ¡ãããŸã ã
- redis_enable_clientã
redis_enable_client
å¿
èŠãããGoogle Cloud Memorystoreã®ãµããŒããè¿œå ããŸããã openssl
1.0.2r, nginx
â 1.14.2, python
â 3.4.9, jemalloc
â 5.1.0, docutils
â 0.13.1, gitlab-monitor
â 3.2.0.
GitLab Geo GitLab 12.0
GitLab Geo (race condition) . gitlab-ce#40970 .
GitLab 11.5 Geo: gitlab-ee # 8053 .
GitLab 11.6 sudo gitlab-rake gitlab: geo: check
, . . gitlab-ee#8289 . Geo, , .
GitLab 11.8 gitlab-ee!8433 Admin Area ⺠Geo ⺠Nodes , .
GitLab 12.0 Geo . . gitlab-ee#8690 .
: 22 2019 .
Hipchat
Hipchat . , 11.9 Hipchat GitLab .
: 22 2019 .
CentOS 6 GitLab Runner Docker executor
GitLab Runner CentOS 6, Docker GitLab 11.9. Docker, CentOS 6. .
: 22 2019 .
legacy GitLab Runner
Gitlab 11.9 GitLab Runner / . GitLab Runner , .
GitLab 11.0 GitLab Runner. metrics_server
listen_address
GitLab 12.0. . .
11.3 GitLab Runner - , S3 . . .
GitLab 12.0. , , , GitLab 11.9+ GitLab Runner 12.0.
: 22 2019 .
GitLab Runner
11.4 GitLab Runner FF_K8S_USE_ENTRYPOINT_OVER_COMMAND
, #2338 #3536 .
GitLab 12.0 , . .
: 22 2019 .
Linux, EOL, GitLab Runner
Linux, GitLab Runner, .
GitLab 12.0 GitLab Runner Linux. , , . ( Javier Jardón ) !
: 22 2019 .
GitLab Runner Helper
Windows Docker executor , helper image .
GitLab 12.0 GitLab Runner . , helper image . .
: 22 2019 .
Git GitLab 11.10
Git .
, , Git. GitLab 11.10 , .
, .
: 22 2019 .
Prometheus 1.x Omnibus GitLab
GitLab 11.4 , Prometheus 1.0 Omnibus GitLab. Prometheus 2.0 . 1.0. 2.0 , , .
GitLab 12.0 Prometheus 2.0, . Prometheus 1.0 , .. .
: 22 2019 .
TLS v1.1
GitLab 12.0 TLS v1.1 . , Heartbleed, GitLab â â PCI DSS 3.1.
TLS v1.1, nginx['ssl_protocols'] = "TLSv1.2"
gitlab.rband
gitlab-ctl reconfigure
.
: 22 2019 .
OpenShift GitLab
gitlab
helm chart â GitLab Kubernetes, OpenShift .
OpenShift GitLab GitLab 12.0 .
: 22 2019 .
security jobs
CI/CD security jobs GitLab 12.0 .
, , GitLab.
: 22 2019 .
System Info
GitLab GitLab admin/system_info
, .
GitLab 12.0 .
: 22 2019 .