ãµã¼ãã¾ããã¨ç§»è¡ãã話ã§ãã
社ã®ãµã¼ãã§GitLabãéç¨ãã¦ããã®ã§ãããGitLabã¨GitLab CI以å¤ã«ãSlackã®ãã¬ã¼ãwikiçã®ãµã¼ãã¹ãèµ°ãã¾ãã£ã¦ãã常ã«ã¹ã¯ãããçºçããç¶æ ã§ãããå ãã¦GitLab CIã®æ©è½ã®å°ãªããé害ãçºçããæã«GitLab Omnibusã§ã¯ã©ãã«åé¡ãããã®ããããã¥ãã(ãã°ã追ãã¥ãã)ãªã©ã®åé¡ããã£ããã
- ãµã¼ããæ°èª¿
- GitLabãã¤ã³ã¹ãã¼ã«
- GitLab CIã廿¢ãã¦Jenkinsã«ç§»è¡
ã¨ãã使¥ãè¡ãã¾ããã幸ããªãã¨ã«GitLab CIã¯ä½¿ãã¥ãããããã¾ã使ããã¦ããããCIã«ã¤ãã¦ã¯åç´ã«æ°ãã«Jenkinsãå°å ¥ããã ãã§æ¸ã¿ã¾ããã
åºæ¬çã«ã¯ä»¥ä¸ã®2ã¤ã®ãã¼ã¸ãåèã«ããã¨ç§»è¡ãããã¨ãã§ãã¾ãã
http://blog.innobase.co.jp/entry/2014/09/15/174228blog.innobase.co.jp
æé ã¨ãã¦ã¯
- ç§»è¡å ã®GitLabãææ°çã«ãã
- ç§»è¡å ã«GitLabã®ææ°çãã¤ã³ã¹ãã¼ã«ãã
- ç§»è¡å ã§å ¨ãã¼ã¿ãããã¯ã¢ãããã
- ç§»è¡å ã«ããã¯ã¢ãããç§»åãã¦ãªã¹ãã¢ãã
ã«ãªãã¾ããããã¯ã¢ãããã¡ã¤ã«ãã©ãã«åºç¾ãããããªã¹ãã¢æã«ã©ãã«ç½®ãããªã©ã¯èªåã§èª¿ã¹ã¦ãã ããããªã¹ãã¢æã«ç½®ãå ´æã¯ãã®ç°å¢(Omnibus or manual install)ã§ããã¯ã¢ãããã¡ã¤ã«ã使ãããå ´æã§ãã
ãã®ä½æ¥ä¸ã«å°ãèºããã®ã§ã¡ã¢ãã¦ããã¾ãã
rbenvã使ããªãæ¹ãè¯ã
ç§»è¡ã«ããã£ã¦Itamaeã§1ã³ãã³ãã§ãããã¤ãããããã«ãã¾ãã(ããªãéã«æ¸ããã®ã§æ´çããä½è£ãã§ããã¾ã§å ¬éã¯ããªãã¤ããã§ã)ãæåã¯rbenvã使ã£ã¦Rubyãã¤ã³ã¹ãã¼ã«ãã¦ãã¾ããããããããªã¨ããã§èºãä¸ã«sudoersãæ¸ãæãããªã©ãã¦ç°å¢å¤æ°ãå¼ãç¶ãå¿ è¦ãçºçãããªã©ãä¸è¾ã«ã綺éºã¨ã¯ãããªããããã¤ã«ãªãããrbenvã諦ãã¾ãããããããGitLabã®ããã«Rubyãå ¥ããã®ã§ãä»å¾ãã¼ã¸ã§ã³ãä¸ããããªã©ã®æ¬²æ±ãããã°ä»åã¨åæ§ã«ãµã¼ããã¾ããã¨ç§»è¡ããä¸ã§Rubyã®ãã¼ã¸ã§ã³ãæãã¦ãã¾ãã°åé¡ãªãã¨èãã¦ãã¾ãã
åã¬ãã¸ããªã«hooksã¸ã®symlinkãå«ã¾ãã¦ãã¦ãããå£ãã¦ãããã¨ããã
ãã®åé¡ã¯Omnibusâmanual installã¾ãã¯manual installâOmnibusã§çºçãããã®ã§ããåãªãã¸ããªã«pushæã®hookã¹ã¯ãªãããæ ¼ç´ãããã£ã¬ã¯ããªã¸ã®symlinkãããã¾ãããã®å®æ ã¯gitlab-shell/hooksã§ããããã®ãã¹ã¯Omnibusã®å ´åã¨manual installã®å ´åã§ç°ãªãã¾ããããã¯ã¢ãããã¨ã£ããªãã¸ããªå ã«ã¯ç§»è¡å ã®ç°å¢ã®symlinkãå«ã¾ãã¦ãããããç§»è¡å ã«ãã£ã¦ãã®symlinkãä½ãç´ãå¿ è¦ãããã¾ããæåã§ãã£ã¦ãã¹ã¯ãªãããä½ã£ã¦ãåé¡ãªãã¨æãã¾ããä»åã¯ãªãã¸ããªã®æ°ãå°ãªãã£ãããæåã§symlinkãè²¼ãç´ãã¾ããã
å£ãã¦ãããã©ããã確èªããã®ã¯ç°¡åã§ãsudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
ãå®è¡ããã¨ãã«Errno::ENOENT: No such file or directory @ realpath_rec - /opt/gitlab
ã¨ãããããªã¨ã©ã¼ãåãã¦ãããå£ãã¦ãã¾ãã
以ä¸2ç¹ã主ãªèºããç¹ã§ããrbenvã«é¢ãã¦ã¯ãã¯ã常èã¨ãããã®ããããã¾ããããçµæ§æ±ãã«æ £ãã¦ããã¤ããã§ãé¢åã ã£ãã®ã§å°ã æ®å¿µã§ããã
ä»åã®ãµã¼ãç§»è¡ã§GitLabãããªãå¿«é©ã«ãªã£ãã®ã§ä»å¾ã®éçºã«ãåãå ¥ãããã§ãã