Mercurialと親和性の高いリポジトリブラウザRhodeCodeをインストールしてみた

Mercurialと連動するブラウザベースのリポジトリ管理システム、RhodeCodeを導入したのでその際のメモを書き残します。
一言で言うと、githubみたいなものを社内などで運用したいというニーズに応えるものです。
gitlabとかも試してみましたが、ドツボにはまったので結局RhodeCodeに落ち着きました。

デモはこちら

RhodeCodeの特徴

  • ブラウザ上でリポジトリを作成できる(これ重要)
  • diffやコミットログがブラウザ上で見られる
  • ブランチも可視化してくれる
  • プロジェクトをグループでまとめることもできる
  • 意外と導入、運用は簡単だった
  • そのうちgitにも対応する予定らしい
  • あまり日本語で情報が少ないかも

Rhodecodeのインストール

基本的にオフィシャルに従う方針で行きました。
ただし、virtualenvを使った方が環境を汚さないと思うので、そうすることにしました。

http://packages.python.org/RhodeCode/installation.html

http://packages.python.org/RhodeCode/setup.html
ユーザは、適当にadduserで作ってください。
今回はhgというユーザを作りました。

adduser --system --home /home/hg/ --group --shell /bin/bash hg sudo mkdir  /var/www/rhodecode-venv sudo chown hg:hg /var/www/rhodecode-venv virtualenv --no-site-packages /var/www/rhodecode-venv # hgが一般権限で利用できるようにする必要がある source /var/www/rhodecode-venv/bin/activate sudo mkdir /var/www/rhodecode sudo chown hg:hg /var/www/rhodecode cd /var/www/rhodecode pip install rhodecode

RabbitMqの導入

一応入れました(結局使ってないかも?)

sudo apt-get install rabbitmq-server

Rhodecodeの設定

cd /var/www/rhodecode paster make-config RhodeCode production.ini paster setup-app production.ini

途中で、リポジトリの場所、adminユーザの名前、パスワード、メールアドレスが求められる
実行する

paster serve production.ini

問題点

・UnicodeDecodeErrorが出る
hgユーザの言語設定を下記で解決。
日本語ja_JP.UTF-8にしてMercurialをインストールすると、どうやらRhodeCodeがこける模様。

export LC\_ALL=C

rhodecode-init.shを作成。

./rhodecode-init.sh

#!/bin/bash export LC\_ALL=C source /var/www/rhodecode-venv/bin/activate cd /var/www/rhodecode paster serve production.ini

実行方法

とりあえず、起動時にrhodecode-init.shを実行することで運用しています。
本格的に動かすならinit.dなどに書いた方がいいかも。

sudo -u hg ./rhodecode-init.sh
Aki Ariga
Aki Ariga
Principal Software Engineer

Interested in Machine Learning, ML Ops, and Data driven business. If you like my blog post, I’m glad if you can buy me a tea 😉

  Gift a cup of Tea

Related