GitLabメモ
GitLabについて、まだまだ情報が少ない気がしたので、ざっとメモを残しておきます。
設定に困ったら、まずはgitlab.rbを見るべし
GitLab、特にomnibusの場合には、いろいろなモジュールが含まれており、それぞれの設定を管理する必要があります。
そのためにまず覚えるべきは、gitlab.rbの存在です。基本的には/etc/gitlab/gitlab.rbとかにあるはずなので、開いて設定しましょう。
gitlab.rbは様々なGitLabに含まれる設定項目を1まとめにしたものですが、変更するだけでは反映されないので、コマンドを実行し、各モジュールに反映させてあげる必要があります。
sudo gitlab-ctl recofigure
sudo gitlab-ctl restart
注意としては、gitlab.rbを使わずに直接モジュールの設定を変更している場合には、その設定が上書きされて消えてしまう可能性があります。以前、コード中に固定値で格納されていたあるMax値を直接変更していた際に、recofigureをした瞬間に上書きされて消えたということがありました。
GitLabはRailsである
忘れがちですが、GitLabはRailsアプリです。そのため、基本的にはRailsの知識がほぼ同じように使えます。
例えば、rake routesは、GitLabコマンドに置き換えられていて
sudo gitlab-rake routes
になるだけです。サーバ全体のコントロールはgitlab-ctlですし、rakeを使う場合にはgitlab-rakeです。
デバッグしたい時
うまく動かなくてデバッグしたい時もあるでしょう。(普通ないかな?)
その際には、rails consoleではなく、
sudo gitlab-rails console
をすればirbが起動して、サーバの中で動いているコードをデバッグすることができます。
ちなみに、起動後の問題であればirbで良いのですが、何かのエラーで起動しない場合には
sudo gitlab-ctl tail
を実行することで、ログを見ることができます。もし対象のモジュールが分かっている場合には、
sudo gitlab-ctl tail unicorn
などとすることで、フィルタリングできるようです。
バックアップ・リストアをマスターすべし
サーバとして運用する上で、バックアップとリストアの機能は必要不可欠です。
定常的にバックアップを保存するのであれば、gitlab.rbのバックアップの項目を設定するべきです。
何かの事情で、手動でバックアップを実行する場合には、
sudo gitlab-rake gitlab:backup:create
とすれば、保存されたフォルダにバックアップ作ることができます。その場合でも、出力フォルダをgitlab.rbを参照して確認するべきでしょう。もちろん、編集したらrecofigureを忘れずに。
SKIPオプションを設定すれば、db以外とか設定も可能ですが、通常の用途ではあまり使わないような気がします。
リストアするときは、バックアップしたtarファイルを保存先フォルダに格納しておきます。
その上で、ファイル名ではなく、ファイル名中のタグを使って、リストア対象を指定します。
sudo gitlab-rake gitlab:backup:restore BACKUP=1393513186_2014_02_27
困ったら、だいたいここに書いてあります。 https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/raketasks/backup_restore.md
インストール、アップデートは簡単
2、3年前は、非常に手間のかかる作業だったものが、最近は一発でインストール、アップデートできるようになりました。
# install GitLab Community Edition sudo apt-get install gitlab-ce # update sudo apt-get update
これじゃ、何も言うことはありません。素晴らしい。