星期三, 7月 10, 2013

gitlab on Ubuntu 12.04

基本安裝指南是參考 gitlab 上的文件:https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md
  1. Packages/Dependencies:提到的套件之前都安裝過了,寄送郵件的 SMTP server,文件裡是說要用 postfix,我是用 ssmtp。
  2. System Users:原本是先處理 Ruby,因為我想用 rvm,所以就先處理 System Users,這邊就建立 git 使用者,由於後續的 rvm 會需要用到 sudo,所以也順便把 git 加入 sudo 群組。
  3. Ruby:我是用 rvm 來安裝,所以就不移除原來系統的 ruby。這邊安裝稍微麻煩一些:
    1. cd /home/git
    2. curl -L https://get.rvm.io | sudo -u git -H bash -s stable --ruby=1.9.3
    3. sudo -u git -H vim .gemrc :填入 gem: --no-ri --no-rdoc
    4. sudo -u git -H mkdir bin
    5. sudo -u git -H vim bin/rvm:因為不知為什麼 bash 沒去讀 .bash_profile,所以就弄了一個 script 來含括環境變數,內容請參考這裡,做完以後,要用 sudo -u git -H chmod +x bin/rvm 變更其權限。
    6. sudo -u git -H bash -c "\$HOME/bin/rvm all do gem install bundler"
  4. GitLab shell:這邊照步驟做,最後的 Do setup 時,要改用 sudo -u git -H bash -c "\$HOME/bin/rvm all do ruby \$HOME/gitlab-shell/bin/install" ,強制用 rvm 的 ruby 來安裝。
  5. Database:照步驟做。
  6. GitLab: 這也是照步驟做,但要注意使用 gem/bundle/rake 的指令,要改變為 sudo -u git -H bash -c "\$HOME/bin/rvm all do gem 跟 sudo -u git -H bash -c "\$HOME/bin/rvm all do bundle 跟 sudo -u git -H bash -c "\$HOME/bin/rvm all do rake
至此,大致就完成了。
實際上在測試的時候,發生一些問題,我遇到的問題跟解:
  1. 我 用預設的帳號 admin@local.host 跟密碼 5iveL!fe 無法登入:後來找到文件,是說用 sudo -u git -H bash -c "\$HOME/bin/rvm all do bundle exec rake gitlab:setup RAILS_ENV=production" 重新執行,我發現我這個步驟有錯誤訊息,就修正以後,再執行一次,就可以登入了。主要是修正 gitlab-shell/config.yml 裡的 repos_path 跟 gitlab/config/gitlab.yml 裡的 repos_path ,這兩者要一致,我是設定為 /var/git/repositories ,之前照設定做的時候,漏了一個。
  2. 建立專案以後,無法 clone/push,這有兩種情況:
    1. gitlab-shell 用了錯誤的 ruby 版本:我是笨笨的去把 gitlab-shell/bin 下所有 script 的第1行修改為 /home/git/.rvm/bin/ruby ,後來有找到 gitlab 的 trouble shooting guide,他是把 PATH 寫到 /home/git/.ssh/environment,然後在 /etc/ssh/sshd_config 裡增加 PermitUserEnvironment yes。
    2. gitlab-shell config.yml 設定錯:我讓 gitlab 執行在 port 81 上,所以 config.yml 裡的 gitlab_url 也應該要調整為 http://localhost:81/ 才對。(來源:GitLab: Could not read from remote repository)
  3. git 版本需要 1.7.10 以上,就找了 git 的 ppa 來源安裝:sudo add-apt-repository ppa:git-core/ppa && sudo apt-get update && sudo apt-get upgrade
整個都確定完成才寫這篇,我想應該是沒漏掉吧。
除了官方的安裝文件之外,ArchLinux wiki 上的安裝指南也寫的很棒,不妨參考看看。

沒有留言: