ãããžã§ã¯ãã®ãµã€ãºã«é¢ä¿ãªããããŒã«ã¯æ¬¡ã®ããšãè¡ãå¿
èŠããããŸãã
aã ä»äºã§å¿«é©ã«
bã æçšãªãã£ãŒãããã¯ãæäŸããŸãã
仿ã¯ãGitLabããããã®åç¹ã§æ¹åãããŸããã GitLab 8.12ã¯ãäœæ¥ã®æå¹æ§ã«é¢ãããã£ãŒãããã¯ãæäŸããã³ãŒãããŒã¹å
šäœã§é©åãªã³ãŒããèŠã€ããã®ã«åœ¹ç«ã¡ãã¯ã³ã¯ãªãã¯ã§ã¯ãŒã¯ãããŒãä¿è·ã§ããããã«å€ãã®ããšãã§ããŸãã
仿ã®MVPïŒ Most Valuable Person ïŒã¯James Munnellyã§ãã圌ã¯KubernetesãGitLab CIã«çµ±åããŸãã ã ãã®æ©èœã«ãããKubernetesã¯ã©ã¹ã¿ãŒã§CIãã¹ããç°¡åã«å®è¡ã§ããŸãã ãžã§ãŒã ãºã¯ãã®ããŒãžãªã¯ãšã¹ããçŽ1幎åã«éããã¬ãã¥ãŒã®çµæã«åºã¥ããŠèŸæ±åŒ·ãæ°žç¶çã«å€æŽããŸããã
ãžã§ãŒã ãºããããšãïŒ
ãœãããŠã§ã¢éçºãµã€ã¯ã«åæïŒãµã€ã¯ã«åæïŒ
äŒè©±åéçºïŒconvdevïŒã®æåã®ååã¯ããœãããŠã§ã¢éçºãµã€ã¯ã«ã®æéãã€ãŸãã¢ã€ãã¢ãå®çŸãããå®çšŒåã«ãªãªãŒã¹ãããæéãççž®ããããšã§ãã ãµã€ã¯ã«æéãçãã»ã©ãããŒã ã®å¹çã¯é«ããªããŸãã
GitLab 8.12ã§ã¯ãããŒã ã®å¹³åãµã€ã¯ã«æéã瀺ãããŒã«ã§ããCycle Analyticsãå®è£
ããŸããã

ãµã€ã¯ã«åæã¯ãéçºãµã€ã¯ã«ã®æéãåå¥ã®ã¹ãããã«åå²ããŠè¡šç€ºãããããæ¹åãå¯èœãªå Žæã確èªããéçºæéãæ£ç¢ºã«äºæž¬ã§ããŸãã
ãµã€ã¯ã«åæããŒãžã¯ãåãããžã§ã¯ãã®[ãã€ãã©ã€ã³]ã¿ãã«ãããŸãã
ãµã€ã¯ã«åæã®è©³çްã
ã°ããŒãã«ã³ãŒãæ€çŽ¢ïŒEEïŒ
GitLab Enterprise Editionã§Elasticsearchãæ§æãããŠããå Žåããã¹ãŠã®ãããžã§ã¯ããã³ãŒãã§äžåºŠã«æ€çŽ¢ã§ããŸãã

以åãšåãæ¹æ³ã§æ€çŽ¢ã䜿çšããŸãã GitLabã«ã¢ã¯ã»ã¹ã§ãããã¹ãŠã®ãããžã§ã¯ãã®çµæã衚瀺ãããããã«ãªããŸããã
ãã®æ©èœã«ã¯Elasticsearchã€ã³ããã¯ã¹ã®åæ§ç¯ãå¿
èŠã§ããããšã«æ³šæããŠãã ããã
詳现ã«ã€ããŠã¯ããããã¡ãŒã¿ãŒã®æŽæ°ãã»ã¯ã·ã§ã³ãã芧ãã ããã
ãªã¯ãšã¹ãããŒãžã§ã³ã®ããŒãž
ããŒãžãªã¯ãšã¹ãã«æ°ããã³ãããã远å ããå Žåã以åã®ã³ãããã®1ã€ãšã¿ãŒã²ãããã©ã³ãã®å·®åã確èªããããšã¯éåžžã«å°é£ã§ãã

ããŒãžãªã¯ãšã¹ãã®ãã©ããã³ã°ããŒãžã§ã³ã䜿çšãããšãããŒãžãªã¯ãšã¹ãã®ä»¥åã®ç¶æ
ã確èªãã以åã®ã³ããããã¿ãŒã²ãããã©ã³ããŸãã¯å¥ã®ã³ããããšæ¯èŒã§ããŸãã
ããŒãžãªã¯ãšã¹ãããŒãžã§ã³ã®è©³çް
æ©å¯æ
å ±ïŒEEïŒã®å
¬éã«å¯Ÿããä¿è·
ããŒãèšŒææžãªã©ã®æ©å¯æ
å ±ã®ã³ãããã¯ãéåžžã«é倧ãªãšã©ãŒã§ãã ãã®ããŒã¿ã¯ããªããžããªãè€è£œã§ãããã¹ãŠã®äººã«éãããŸããæ
å ±ã䟵害ããã«ã¯ã1ã€ã®ãªãŒã¯ã§ååã§ãã
æ®å¿µãªãããããã¯é »ç¹ã«èµ·ãããŸãã
ããšãã°ã git commit -am'' && git push
ãæžããšããã®åŸã«git commit -am'' && git push
ãŸãã
GitLabã«ã¯ãæ©å¯æ
å ±ãå«ãã³ãããããããã¯ããæ°ããããã·ã¥ã«ãŒã«ãã§ãã¯ïŒããã·ã¥ã«ãŒã«ïŒããããŸãã ãã§ãã¯ããã¯ã¹ããªã³ã«ãããšãGitLabã¯.pem
ã.key
ãªã©ã®å®å
šã§ãªããã¡ã€ã«ã®ã³ããããèš±å¯ããŸããã

GitLab EEã«ã¯ã以åã¯æ£èŠè¡šçŸã§ãã¡ã€ã«ããããã¯ããæ©èœããããŸããã ããã䜿çšããŠããã£ã«ã¿ãŒã«å«ãŸããŠããªããã®ã®ãããã¯ãæ§æã§ããŸãã
ããã·ã¥ãã§ãã¯ã®è©³çް
ã¢ããªã®ç¢ºèªïŒå®éšçæ©èœïŒ
GitLab CIã«ããã€ãã®å€æŽãå ããŸããã äžç·ã«ããã€ãã®éæ³ãäœæããŸãã
CI倿°ã§ç°å¢åãæå®ã§ããããã«ãªããŸããã .gitlab-ci.yml
ã§ç°å¢èšå®ã®URLãæå®ããããšãã§ã.gitlab-ci.yml
ã ããã2ã€ã®æ©èœãåãããŠãReview Appsã®æåã®å埩ã®åºç€ã圢æããŸãã
ã¬ãã¥ãŒã¢ããªã¯ãåãã©ã³ãã®ã³ãŒãããããã€ãããç°å¢ãèªåçã«äœæããŸãã ããã¯ãåããŒãžèŠæ±ã«äœæ¥ç°å¢ãèªåçã«å²ãåœãŠãããããšãæå³ããŸãã
ãã®æ©èœã®ã¢ã€ãã¢ã¯Heroku Review Appsãããšããã Herokuã¯FourchetteãããããåããŸããã
ãããã®å°ããªé©æ°ã¯ãã¯ãŒã¯ãããŒã«å€§ããªåœ±é¿ãäžããå¯èœæ§ããããŸãã äœæ¥ç°å¢ããããšãã¢ããªã±ãŒã·ã§ã³ã®ããããåŽé¢ïŒããã©ãŒãã³ã¹ãããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãŸã§ïŒã®ã¬ãã¥ãŒã容æã«ãªããŸãã
çŸæç¹ã§ã¯ãã¢ããªã®ã¬ãã¥ãŒæ©èœã¯å®éšçã§ãããšèŠãªãããŸããããã¯ãç°å¢ãäžèŠã«ãªã£ããšãã«ãŸã èªåçã«ç Žæ£ãããªãããã§ãã
çŸåšãã¬ãã¥ãŒã¢ããªã®äŸãå«ãæ°ããèšäºãæžããŠããŸãã
SSHãä»ããLFSã§ã®æ¿èª
SSHãä»ããŠããã·ã¥ããããšã«æ
£ããŠããå ŽåãLFSã䜿çšãããã³ã«ãŠãŒã¶ãŒåãšãã¹ã¯ãŒããå
¥åããã®ã¯å°ãã€ã©ã€ã©ããã§ãããã
GitLabã¯ãLFSã䜿çšãããšãã«SSHããŒã䜿çšããããã«ãªããŸããã ã€ãŸããSSHçµç±ã§æ¥ç¶ããLFSã䜿çšããå Žåãèå¥çšã®ããŒã¿ãæåã§å
¥åããå¿
èŠããªããªããŸãã
LFSãã¡ã€ã«è»¢éã¯åŒãç¶ãHTTPçµç±ã§è¡ãããŸãã
LFSã®æå¹åãšç¡å¹å
Git LFSïŒå€§å®¹éãã¡ã€ã«ã¹ãã¬ãŒãžïŒã¯åªããŠããŸããããã®æ©èœã䜿çšãããšããã®åã瀺ããšããã倧éã®ãã£ã¹ã¯é åãå¿
èŠã«ãªãå ŽåããããŸãã ãã£ã¹ã¯é åã®ç¡é§é£ãã軜æžããããã«ãGitLabã€ã³ã¹ã¿ã³ã¹å
šäœããããžã§ã¯ãã®ã°ã«ãŒãããŸãã¯ç¹å®ã®ãããžã§ã¯ãã§LFSããªã³ãŸãã¯ãªãã«ã§ããŸãã
ãããžã§ã¯ããµã€ãºå¶éïŒEEïŒ
LFSã®ãµã€ãºãå¶éããããšã«å ããŠããããžã§ã¯ãã®æå€§ãµã€ãºãå¶éã§ããããã«ãªããŸããã å¶éã¯ãã¹ãŠã®ãªããžããªããŒã¿ãšLFSãªããžã§ã¯ãã«é©çšãããå¶éãè¶
ããã³ãããã¯åæ¢ããŸãã

管çè
ã¯ãã°ããŒãã«å¶éãèšå®ããã°ã«ãŒãããã³ãããžã§ã¯ãã¬ãã«ã§åå®çŸ©ã§ããŸãã ãããã£ãŠã远å ã®ã¹ããŒã¹ãç¹å®ã®ãããžã§ã¯ãã«å²ãåœãŠãããšãã§ããŸãã
詳现ã«ã€ããŠã¯ã ãªããžããªãµã€ãºå¶éã®ããã¥ã¡ã³ããåç
§ããŠãã ããã
LDAP / Active Directoryã®æ©èœåŒ·å
ãã®ãªãªãŒã¹ã§ã¯ãGitLab CEããã³EEã®LDAP / Active DirectoryãµããŒãã«ããã€ãã®æ©èœåŒ·åã远å ãããŠããŸãã
- CE / EE-GitLabãå¿
èŠãšãããŠãŒã¶ãŒ/ã°ã«ãŒãLDAP屿§ïŒCE 6187ããã³EE 712 ïŒã®ã¿ãèŠæ±ããGitLabãšLDAP / Active DirectoryãµãŒããŒéã§è»¢éãããããŒã¿éãåæžããŸãã ãŸããGitLabå
ã®ãªããžã§ã¯ãã䜿çšããã¡ã¢ãªéãåæžããŸãã
- EE-ãã¹ããããã°ã«ãŒãããã³ããŒãžåå²ããããŠãŒã¶ãŒãªã¯ãšã¹ãã®éžæã®é«éåïŒå€§èŠæš¡ãªã°ã«ãŒãã®å ŽåïŒïŒ 719 ïŒ
- EE-LDAPã°ã«ãŒããªã³ã¯ãååšããå ŽåãããŒã ã¡ã³ããŒããŒãžã«ãä»ããåæããªãã·ã§ã³ã远å ïŒ 704 ïŒ
SSHãä»ãã2èŠçŽ èªèšŒããŒã¯ã³ã®å埩
ããã§ãSSHã䜿çšããŠ2èŠçŽ èªèšŒã³ãŒããå埩ã§ããŸãã çé£ãçºçããå Žåã®ã¢ã«ãŠã³ãã®åŸ©æ§ã¯ç°¡åã«ãªããŸããããã·ã¹ãã ã®ã»ãã¥ãªãã£ã®å
šäœçãªã¬ãã«ã¯äœäžããŠããŸããã
詳现ã«ã€ããŠã¯ã SSHãä»ãã2èŠçŽ èªèšŒã®åŸ©å
ã«é¢ããããã¥ã¡ã³ããåç
§ããŠãã ãã ã
ååã¿ã°ãã£ã«ã¿ãŒ
ã¿ã°ããã°ããèŠã€ãããã§ããïŒ ããã«ã¯ãããŒãžäžéšã®æ°ãã䟿å©ãªãã£ã«ã¿ãŒã䜿çšããŸãã

APIã®è¿œå
GitLab 8.12ã§ã¯ãAPIãæ¡åŒµããŸããïŒ
- ããã§ãã°ã«ãŒããšãããžã§ã¯ãã«
request_access_enabled
ãã©ã¡ãŒã¿ãŒãèšå®ã§ããŸã notification_settings
APIåŒã³åºãã远å ããŸããBroadcastMessage
APIã远å ããŸãã- ããã§ãAPIãä»ããŠç¹å®ã®åå空éã«åå²ã§ããŸã
- ã°ã«ãŒãããã³ãããžã§ã¯ãã®ã¢ã¯ã»ã¹èŠæ±ãæå¹/ç¡å¹ã«ããæ©èœ
- ãã±ãããããŒãžèŠæ±ãã¹ããããã«
web_url
ãã£ãŒã«ãã远å ããŸããïŒæ©èœã¯ã³ãã¥ããã£ã®ã¡ã³ããŒã«ãã£ãŠå®è£
ãããŠããŸãïŒ - ããŒãžãªã¯ãšã¹ãã®APIãªã¯ãšã¹ãã§
sha
ãšmerge_commit_sha
ãè¿ããŸãã ïŒã³ãã¥ããã£ã®ã¡ã³ããŒã«ãã£ãŠå®è£
ãããæ©èœïŒ - ãã±ããã®æ©å¯æ§ã®èªèèªèïŒã³ãã¥ããã£ã®ã¡ã³ããŒã«ãã£ãŠå®è£
ãããæ©èœïŒ
- ãããžã§ã¯ãèšå®
only_allow_merge_if_build_succeeds
远å ãããŸããã ïŒã³ãã¥ããã£ã®ã¡ã³ããŒã«ãã£ãŠå®è£
ãããæ©èœïŒ .gitlab-ci.yml
ãã¡ã€ã«ã§æ§æã®æ£ç¢ºæ§ïŒlintïŒã確èªããAPIåŒã³åºãã远å ããŸããïŒæ©èœã¯ã³ãã¥ããã£ã®ã¡ã³ããŒã«ãã£ãŠå®è£
ãããŠããŸãïŒ- Deploymentsããã³Deploymentsã»ã¯ã·ã§ã³ã«æåã¢ã¯ã·ã§ã³ã衚瀺ããããã®APIã远å ããŸãã
GitHubã«ããæ¹åãããã€ã³ããŒãããŒã«
GitHubã®ã€ã³ããŒãããŒã«ã¯ã©ãã©ãè¯ããªã£ãŠãããGitLabãžã®ç§»è¡ã容æã«ãªã£ãŠããŸãã GitLab 8.12ã§ã¯ãã€ã³ããŒãããŒã«ã¯ãªãªãŒã¹ããŒããGitLabã«ã³ããŒãããããžã§ã¯ããã€ã³ããŒãããããŒã ã¹ããŒã¹ãéžæããããšãã§ããŸãã

GitLabã«æ¢ã«ãããžã§ã¯ããããå ŽåããŸãã¯GitLabã®ããã©ã«ãã®ã€ã³ããŒãåäœãšã¯ç°ãªãäœããå¿
èŠãªå Žåãããã«ããç§»è¡ããã»ã¹ã容æã«ãªããŸãã
詳现ã«ã€ããŠã¯ãGitHubããã®ãªããžããªã®ã€ã³ããŒãã«é¢ããããã¥ã¡ã³ããåç
§ããŠãã ããã
äžæ¬ããŒãžèŠæ±ç®¡ç
ããã§ãè€æ°ã®ããŒãžãªã¯ãšã¹ããäžåºŠã«ç·šéã§ããŸãã ã¹ããŒã¿ã¹ãã¹ããŒãžïŒãã€ã«ã¹ããŒã³ïŒãã©ãã«ã説æããŸãã¯ããŒãžãªã¯ãšã¹ããå²ãåœãŠãããŠããéçºè
ãªã©ãè€æ°ã®ããŒãžãªã¯ãšã¹ããåæã«å€æŽã§ããŸãã

å€ãã®ããŒãžèŠæ±ã䌎ããããžã§ã¯ã管çãã¯ããã«ç°¡åã«ãªããŸãïŒ
ãã«ãã®ã°ã«ãŒãå
åæ§ã®ãã«ãã倿°ããå Žåããã€ãã©ã€ã³ã¹ããŒã ã¯éåžžã«é·ããªããŸãã å€èŠ³ãæ¹åããããã«å°ããªå€æŽãå ããŸãããåæ§ã®ãã«ãã¯èªåçã«äºãã«ã°ã«ãŒãåãããŸãã

æ¡åŒµæ§æã®åŒ·èª¿è¡šç€º
rouge 2.0.6ãžã®åãæ¿ãã«ãããJSXãPrometheusãmxmlã1CïŒ1CãKarlïŒïŒãTurtle / trigãvhdlã®æ§æåŒ·èª¿è¡šç€ºãããã³Swift 3ã®åŒ·èª¿è¡šç€ºã®æ¹åã远å ãããŸããã
äž»å補åã§ã®æ©tryã®çµ±å
GitLab-Workhorseã¯ãã¢ããªã±ãŒã·ã§ã³ãšã©ãŒãSentryã«éä¿¡ã§ããããã«ãªããŸããã
詳现ã«ã€ããŠã¯ã GitLab-Workhorseã®ããã¥ã¡ã³ããã芧ãã ããã
Gitlabã©ã³ããŒ1.6
æ¬æ¥ãGitLab Runner 1.6ããªãªãŒã¹ããŸãã ããŒãã€ã³ãïŒ
- Kubernetes executorïŒ 30ããã³277 ïŒãããã«ããKubernetesã¯CIã©ã³ããŒã®æ°ãèªåçã«ã¹ã±ãŒãªã³ã°ã§ããŸãã ãã¹ãŠã®ãã«ãã¯ãããžãŒã§ãªããšãã«ã¢ã€ãã«ç¶æ
ã®ãã·ã³ãå®è¡ããã«ããã«åŠçãããŸãã
- ã©ã³ããŒã®ç»é²äžã®GitLab URLã§ã®/ ciã®ãªãŒãã³ã³ããªãŒãïŒ 289 ïŒ
- ã¯ããŒã³/ãã§ãããå®è¡ãããåãããã³ãã«ãã¹ã¯ãªãããå®è¡ãããåã«å®è¡ãããã¹ã¯ãªãããæå®ããããã®æ§æãªãã·ã§ã³ïŒ 106 ïŒ
- ãã«ããžã®CAèšŒææžã®åãæž¡ãã®æ¹åïŒ 299 ïŒ
- ååž°ãµãã¢ãžã¥ãŒã«ã®ãã§ãã/ã¯ããŒã³äœæã®ç¡å¹åã®æ¹åïŒ 314 ïŒ
- Dockerãã·ã³ã®ãã°ã®æ¹åïŒ 234 ïŒ
- å¥ã®ã³ã³ããããç¶æ¿ããããªã¥ãŒã ã®ãªã¹ããæå®ããå¯èœæ§ã远å ïŒ 236 ïŒ
- Docker / Kubernetesã€ã¡ãŒãžãæ¬ èœããŠããå Žåã
BuildError
代ããã«SystemError
ãçæãBuildError
ïŒ 295 ïŒ
倿Žã®å®å
šãªãªã¹ãã«ã€ããŠã¯ã ã©ã³ããŒã®å€æŽãã°ãã¡ã€ã«ãåç
§ããŠãã ããã
GitLab Mattermost 3.4
Mitãã©ãã«ãŒãã·ã§ããã¢ã³ã·ãã«ããŠããã¹ãã
ããã©ãŒãã³ã¹ã®åŒ·å
- Railsãã£ãã·ã³ã°ã¡ã«ããºã ã䜿çšããå ŽåãSidekiqããã»ã¹ã¯æ¥ç¶ããŒãªã³ã°ã䜿çšããããã«ãªããŸããã ããŒãžèŠæ±
oj
gemã䜿çšããŠJSONåŠçãé«éåïŒ ããŒãžãªã¯ãšã¹ãprojects.last_activity_at
åã¯ãããŒã¿ããŒã¹ã®è² è·ã軜æžããããã«1æéã«1åã®ã¿æŽæ°ãããŸãã ããŒãžèŠæ±projects.pushes_since_gc
åã¯ãããŒã¿ããŒã¹ã®è² è·ãæžããããã«ããŒã¿ããŒã¹ããRedisã«ç§»åãããŸããïŒ ããŒãžèŠæ±- ãã©ã³ãåãäžæãªå Žåãä¿è·ããããã©ã³ãã®æ€èšŒã¯å®è¡ãããŸãããããã«ããããã®ããã»ã¹ã«è²»ããããæéãççž®ãããŸãïŒ ããŒãžèŠæ±
- ã³ãããã«é¢ããã³ã¡ã³ããéããããšãã§ãããã©ããã®ç¢ºèªã¯ãã³ã¡ã³ãããŸã£ããéããããšãã§ããå Žåã«ã®ã¿è¡ãããŸãïŒ ããŒãžèŠæ±
ci_runners
ããŒãã«ã®æŽæ°é »åºŠãæžããããŒã¿ããŒã¹ã®è² è·ã軜æžãããŸããã ããŒãžèŠæ±- ã³ããã/ããŒãžãªã¯ãšã¹ãã®[ãã«ã]ã¿ãã§äœ¿çšãããããŒã¿ããŒã¹ã¯ãšãªã®æ°ãæžãããŸããïŒ ããŒãžãªã¯ãšã¹ã
- ã¢ã¯ã·ã§ã³ã«ã¬ã³ããŒã®æå€§ãµã€ãºãçž®å°ããŸããã
ããŒãžãªã¯ãšã¹ã
ã¢ã»ã³ããªèš±å¯ã®å€æŽ
GitLab 8.12ã¯ããã«ãèš±å¯ã«éèŠãªå€æŽããããããŸã
ã¢ã»ã³ããªã®ã¢ã¯ã»ã¹æš©ã¯ããã®ã¢ã»ã³ããªãèµ·åãããŠãŒã¶ãŒã®ã¢ã¯ã»ã¹æš©ãšå¯æ¥ã«é¢é£ããå¿
èŠããããšå€æããŸããã æ¬¡ã®çç±ããããŸãã
- ãŠãŒã¶ãŒã®ã¢ã¯ã»ã¹æš©ã®ã·ã¹ãã ãæ¢ã«ãããŸãïŒãŠãŒã¶ãŒãå±ããã°ã«ãŒããŸãã¯ãããžã§ã¯ãã«åºã¥ããŠïŒ
- ã©ã®ãŠãŒã¶ãŒããã«ããèµ·åãããã¯ïŒGitã§ã®ããã·ã¥ã®äœ¿çšãWebçµç±ããŸãã¯ããªã¬ãŒçµç±ã®ãããã§ãã£ãŠãïŒããã£ãŠããŸãã
- ãã®ãŠãŒã¶ãŒãèš±å¯ãããŠããããšã¯ããã£ãŠããŸãã
- ããã·ã¥ã«ãã£ãŠéå§ãããã¢ã»ã³ããªã¯ãããã·ã¥ãè¡ã£ããŠãŒã¶ãŒãšåãæš©éãä»äžããŸãïŒã¢ã»ã³ããªãã¢ã¯ã»ã¹ã§ãããã¹ãŠã®ãã®ã«ã¢ã¯ã»ã¹ã§ãããšäŸ¿å©ã§ãïŒ
- ã¢ã»ã³ããªã®æå¹æéäžã«å¿
èŠãªã¢ã¯ã»ã¹ãæäŸããäžæã®çåœããŒã¯ã³ãäœæã§ããŸãã
- ããã¯ç§ãã¡ã®å²åŠãšéåžžã«ããçžé¢ããŠããŸãïŒããã¹ãŠãçµ±åããå¿
èŠããããŸãïŒ
- ãã®ã¢ãããŒãã«ãããã¢ã¯ã»ã¹æš©ã䜿çšããŠå€ãã®è峿·±ãããšãã§ããŸããããšãã°ãåã
ã®ãŠãŒã¶ãŒã®ã¿ã«ã©ã³ããŒãã·ãŒã¯ã¬ãã倿°ããããã€ã¡ã³ãç°å¢ãžã®ã¢ã¯ã»ã¹ãèš±å¯ããŸãã
ããã§ããŠãŒã¶ãŒãèµ·åããã¢ã»ã³ããªã«ã¯ããã®ãŠãŒã¶ãŒã®ã¢ã¯ã»ã¹æš©ãä»äžãããŸãã ãŠãŒã¶ãŒãgit push
ãããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãä»ããŠãã¡ã€ã«ã倿Žãããšãæ°ãããã€ãã©ã€ã³ãäœæãããŸãã ãã®ãã€ãã©ã€ã³ã¯ãããã·ã¥ãè¡ã£ããã€ãã©ã€ã³ã«å±ãããã®ãã€ãã©ã€ã³ã§äœæããããã«ãã«ã¯ãããã·ã¥ãè¡ã£ããã€ãã©ã€ã³ãžã®ã¢ã¯ã»ã¹æš©ããããŸãã
ããã«ãããã¢ã»ã³ããªã®äœæè
ãã¢ã¯ã»ã¹ã§ãããã¹ãŠã®äŸåãããžã§ã¯ãããã³ã³ã³ããã€ã¡ãŒãžãžã®ã¢ã¯ã»ã¹ãä¿é²ããããã»ã¹ãä¿é²ã§ããŸãã ã¢ã¯ã»ã¹æš©ã¯ãã¢ã»ã³ããªã®æéäžã®ã¿èš±å¯ãããŸãã ã¢ã»ã³ããªãå®äºãããšãã¢ã¯ã»ã¹ãåãæ¶ãããŸãã
ã¢ã»ã³ããªã®ã¢ã¯ã»ã¹èš±å¯ãšããã«é¢é£ãã倿Žã®è©³çްã«ã€ããŠã¯ãããã¥ã¡ã³ããåç
§ããŠãã ãã ã
ãã®å€æŽã®æŽå²ãšçç±ã«èå³ãããå Žåã¯ã é¢é£èšäºã§è©³çްãªèª¬æãèªãããšãã§ããŸãã
CIã®ãµãã¢ãžã¥ãŒã«
ãµãã¢ãžã¥ãŒã«ã¯ãã¢ã»ã³ããªã®ã¢ã¯ã»ã¹èš±å¯ãåèšèšããçç±ã®1ã€ã§ãã CIãã«ãã§ãµãã¢ãžã¥ãŒã«ã䜿çšããã®ãã¯ããã«ç°¡åã«ãªããŸããã
ãµãã¢ãžã¥ãŒã«ã䜿çšããã«ã¯ã次ã®ãããª.gitmodules
ãã¡ã€ã«ãå¿
èŠã§ãã
[submodule "tools"] path = tools url = git@gitlab.com/group/tools.git
ãµãã¢ãžã¥ãŒã«ã«æ°ããã¢ã»ã³ããªæš©éã䜿çšããã«ã¯ãURLãçžå¯Ÿçãªãã®ã«å€æããå¿
èŠããããŸãã
[submodule "tools"] path = tools url = ../../group/tools.git
ããã«ãããGitã¯ãããžã§ã¯ããœãŒã¹ãžã®ã¢ã¯ã»ã¹ãšåããŠãŒã¶ãŒåãšãã¹ã¯ãŒãã䜿çšããããã«ãªããŸãã
æåŸã®ã¹ãããã¯ãGitLab CIã«ãµãã¢ãžã¥ãŒã«ã®åçž®ãæç€ºããããšã§ãïŒ
before_script: - git submodule update
ãµãã¢ãžã¥ãŒã«ã®ãµããŒãã®è©³çްã«ã€ããŠã¯ã ããã¥ã¡ã³ããã芧ãã ããã
ãã®ä»ã®å€æŽ
ãã®ãªãªãŒã¹ã«ã¯ãããŸããŸãªã»ãã¥ãªãã£ä¿®æ£ãå«ãä»ã®å€ãã®å€æŽããããŸãã ãã¹ãŠã®å€æŽã確èªããã«ã¯ã倿Žãã°ãåç
§ããŠãã ããã
ããã¡ãŒã¿ãŒã®æŽæ°
ãã®ãªãªãŒã¹ã§ã¯ãå€éšããŒã远å ãããåã®çš®é¡ã倿Žãããäžéšã®åãããŒãã«éã§ç§»åãããããã远å ã®æéãå¿
èŠã«ãªããŸãã å€§èŠæš¡ãªã€ã³ã¹ã¿ã³ã¹ã®ç§»è¡ããã»ã¹å
šäœã«ã¯ãæå€§30åããããŸãã å°èŠæš¡ãªå Žåãé
å»¶ã¯çŽ10ã15åãšæ³å®ãããŸãã
ïŒEEã®ã¿ïŒElasticsearchã®åã€ã³ããã¯ã¹ä»ã
芪åé¢ä¿ã䜿çšããŠããªããžããªã®Elasticsearchã€ã³ããã¯ã¹ãåèšèšããŸããã ESã€ã³ããã¯ã¹å
šäœãå®å
šã«åæ§ç¯ããå¿
èŠããããŸãã Elasticsearch 2.3.xã«ã¯ããã€ã©ã€ãæ©èœãšèŠªåé¢ä¿ãåæã«äœ¿çšãããã¹ãŠã®ãªã¯ãšã¹ãã倱æãããã°ãå«ãŸããŠãããããããŒãžã§ã³2.4以éã䜿çšããããšããå§ãããŸãã GitLab 8.12ã«ã¢ããã°ã¬ãŒãããåŸãå€ãã€ã³ããã¯ã¹ãåé€ããŠæ°ããã€ã³ããã¯ã¹ãåæ§ç¯ããå¿
èŠããããŸãã
å€ãã€ã³ããã¯ã¹ãåé€ããã«ã¯ãElasticsearchã«æ¬¡ã®ãªã¯ãšã¹ããè¡ããŸãã
curl -XDELETE 'http:
次ã«ã Elasticsearchçµ±åããã¥ã¡ã³ãã®èª¬æã«åŸã£ãŠãæ°ããã€ã³ããã¯ã¹ãåæ§ç¯ããŸã
Rubyã¢ããããŒã
以åã®ãªãªãŒã¹æçš¿ã§ã GitLab 8.13ã§ã®Ruby 2.1.xã®ãµããŒããäžæ¢ããããšè¿°ã¹ãŸããã ç§ãã¡ã¯å¿ãå€ããŠãè¿ãå°æ¥Ruby 2.1.xã®ãµããŒãããããŸããã
ãœãŒã¹ããã€ã³ã¹ããŒã«ãå®è¡ããå Žåã¯ãRuby 2.3ã«ã¢ããã°ã¬ãŒãããããšããå§ãããŸããããã¯Omnibusã«ä»å±ããŠããã®ãšåãããŒãžã§ã³ã§ãã
é«åºŠãªãŠãŒã¶ãŒããŒã¿éä¿¡ïŒEEïŒ
補åã®äœ¿çšäŸã«é¢ãã詳现æ
å ±ãæäŸããããã«ãGitLab 8.12 EEã¯è¿œå ããŒã¿ããµãŒããŒã«éä¿¡ããããã«ãªããŸããã
ãŠãŒã¶ãŒæ
å ±ïŒãããžã§ã¯ãåãã³ã¡ã³ãããã¡ã€ã«ã®å
容ãªã©ïŒã¯åéããŸããã éä¿¡ãããããŒã¿ã¯ç®¡çè
èšå®ã§è¡šç€ºã§ããŸããå¿
èŠã«å¿ããŠããã®æ©èœããªãã«ããããšãã§ããŸãã
詳现æ
å ±-é¢é£ããããŒãžãªã¯ãšã¹ãå
GitLab-Workhorse Secret Key
GitLab-Workhorseã¯ãç§å¯ããŒã䜿çšããŠGitLab Railsã¢ããªã±ãŒã·ã§ã³ã«éä¿¡ãããã¡ãã»ãŒãžã«çœ²åããããã«ãªããŸããã ãããŸã§ã®ãšãããããã¯äž»ã«æ§æã®æ€èšŒã§ãã å°æ¥ã®ãªãªãŒã¹ã§ã¯ãä¿¡é Œã確èªããããã«ãã®ç§å¯ããŒãå¿
èŠãšããæ©èœãGitLab-Workhorseã«è¿œå ããããšèããŠããŸãã
Omnibusã䜿çšããŠããå ŽåããŸãã¯å
¬åŒã®init.dã¹ã¯ãªããã䜿çšããŠGitLabããœãŒã¹ããã€ã³ã¹ããŒã«ããå Žåãç§å¯ããŒãèªåçã«çæããã³ã€ã³ã¹ããŒã«ãããŸãã init.dã¹ã¯ãªããã䜿çšããå ŽåããŸãã¯GitLab Inc.ã«ãã£ãŠäœæãããŠããªãããã±ãŒãžã䜿çšããå Žåã¯ã -secretPath
ãªãã·ã§ã³ãGitLab-Workhorseã«èšå®ããå¿
èŠããããŸãã
ããäžã€
ææ°ããŒãžã§ã³ããã¢ããã°ã¬ãŒãããããšãæ³å®ããŠããŸãã ããã§ãªãå Žåã¯ãã¹ãããããäžéããŒãžã§ã³ã®ãæŽæ°ããã¡ãŒã¿ãŒãã確èªããŠãã ããã GitLabããŒãžã§ã³8.0ããã¢ããã°ã¬ãŒãããŠããŠãCIãæå¹ã«ããŠããå Žåã¯ãæåã«GitLab 8.0ã«ã¢ããã°ã¬ãŒãããå¿
èŠããããŸã
å
ã®Omnibusããã±ãŒãžã¯ãæŽæ°ãã©ãã ãã倧ãããããå°ããããã«é¢ä¿ãªãã忢ããç§»è¡ãéå§ããåã³éå§ããããšã«æ³šæããŠãã ããã ãã®åäœã倿Žããã«ã¯ããã¡ã€ã«/etc/gitlab/skip-auto-migrations
远å ããŸãã
èšçœ®
GitLabããŒãããã€ã³ã¹ããŒã«ããå Žåã¯ã 該åœããã»ã¯ã·ã§ã³ããèªã¿ãã ããã
æŽæ°ãã
ç§ãã¡ã®ã¢ããããŒãããæ¥œãã¿ã«ã
ãšã³ã¿ãŒãã©ã€ãºç
GitLab Enterprise Editionã«ã¯ãLDAPã°ã«ãŒãã®ãµããŒããªã©ã®è¿œå æ©èœãå«ãŸããŠããŸãã 詳现ã«ã€ããŠã¯ã
GitLab EEã®èª¬æ ã
GitLab EEã¯ãµãã¹ã¯ãªãã·ã§ã³ã§ã®ã¿å©çšå¯èœã§ãã
æ°ããããŒã«ãã€ã³ã¹ããŒã«ããŠæ§æããã®ã«ååãªæéããããŸãããïŒ ãµãã¹ã¯ãªãã·ã§ã³äŸ¡æ Œã«ã¯ããµãŒããŒã«GitLabãã€ã³ã¹ããŒã«ããã³æŽæ°ããããã®ãµãŒãã¹ãå«ãŸããŠããŸãã
è±èªããã®ç¿»èš³ã¯ã翻蚳ããŒã ãBrain and Partnersãã httpïŒ //nadmosq.ruãnick_volynkinãrishavant ãããã³cheburequeã«ãã£ãŠè¡ãããŸããã