ログ日記

作業ログと日記とメモ

GitosisからGitLabに乗り換えメモ

Gitosisはパッケージで入れたものを使っていた。
リポジトリが増えてGitosisの設定ファイルも増えてきたのでGitLabを使ってみる。


https://github.com/gitlabhq/gitlabhq/blob/5-0-stable/doc/install/installation.md
ここを参考に、ちょっと変えつつインストール。

sudo adduser --disabled-login --gecos 'GitLab' git
usermod -a -G git www-data
su git
cd
bash
git clone https://github.com/gitlabhq/gitlab-shell.git
cd gitlab-shell/
cp config.yml.example config.yml
vi config.yml
# urlを変える

mkdir ../repositories

追記:インストールしてみて、gitosisユーザーを使うとpush出来なかったので素直にgitユーザーを追加して/home/gitを使うやり方に変えた。
追記2:やり直したけどまだ無理・・・
追記3:以前のgitosisユーザーでunicormやsidekiqのサービスが落ちてなかったのが原因だった。gitlab-shellがgitosis環境で実行されてしまっていた。gitlab起動スクリプトを間違えた場合はきちんと落ちているか確認しましょうという教訓。それからRVMを使っている場合は ~git/.ssh/environment に環境変数を設定*1も必要だった。


rubyを入れるのを忘れていた。

cd
\curl -#L https://get.rvm.io | bash -s stable --ruby

前は出来たのに、今回はsudoでパスワードを聞かれて停止する。

Searching for binary rubies, this might take some time.
No binary rubies available for: debian/6.0.7/x86_64/ruby-1.9.3-p392.
Continuing with compilation. Please read 'rvm mount' to get more information on binary rubies.
Installing requirements for debian, might require sudo password.
[sudo] password for gitosis: 
rvm --version

rvm 1.19.0 (master) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

logディレクトリを見ると、ダミーパッケージgit-coreをインストールしようとしている?色々見たけどsudoを使わないでやろうとすると進まないので前回入れたバージョンを指定してインストール。

\curl -#L https://get.rvm.io | bash -s stable --version 1.18.19 --ruby=1.9.3

こういう指定ができるのがいいね。

source ~/.rvm/scripts/rvm 

gem install bundler


./bin/install

cd

git clone https://github.com/gitlabhq/gitlabhq.git gitlab
cd gitlab
git checkout 5-0-stable
cp config/gitlab.yml.example config/gitlab.yml
vi config/gitlab.yml
# hostの変更、emailの変更

mkdir ../gitlab-satellites
mkdir tmp/pids
cp config/unicorn.rb.example config/unicorn.rb

cp config/database.yml.postgresql config/database.yml
vi config/database.yml
# database、username、password設定、postgresqlユーザーとデータベースを作る

# rootで
aptitude install libicu-dev
aptitude install libxslt1-dev
aptitude install redis-server

gem install charlock_holmes --version '0.6.9'

vi Gemfile
# Gemfile の gem pgの後の group: postgres を削除
bundle install --deployment --without development test
bundle exec rake gitlab:setup RAILS_ENV=production

# rootで
curl --output /etc/init.d/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/master/init.d/gitlab
chmod +x /etc/init.d/gitlab
update-rc.d gitlab defaults 21
/etc/init.d/gitlab restart

bundle exec rake gitlab:env:info RAILS_ENV=production
bundle exec rake gitlab:check RAILS_ENV=production

# テスト
bundle exec rails s -e production

依存関係はエラーが出るたびにメッセージを見てインストールした。エラーメッセージが分かりやすくて良い。
gitlab:check でエラーが出てるけどメッセージに従って設定しても直らないみたい。気にせず続けた。
ip:3000 でアクセスしてテスト。


Apacheで動かす設定。
http://blog.iss.ms/2012/09/02/030507
http://d.hatena.ne.jp/akishin999/20120403/1333413971
だいたいここの通り。


ログインなどはできたけど、エラーでプロジェクトが作成できない。
https://github.com/gitlabhq/gitlab-public-wiki/wiki/Trouble-Shooting-Guide
解決方法はここに書いてあった。

echo "deb http://backports.debian.org/debian-backports squeeze-backports main" >> /etc/apt/sources.list
apt-get update
apt-get -t squeeze-backports install redis-server

操作はだいたいgithubと同じ。

*1: これも Trouble Shooting Guide https://github.com/gitlabhq/gitlab-public-wiki/wiki/Trouble-Shooting-Guide に書いてあった