最近はコードやconfigよりも文章を書くことの方が多い前田です。webサイトの記事、パンフレットのテキスト、お客様のサポート、Redmineのチケットなど。
さて、ソースコードなどを管理するためのリポジトリ、どこに置いてますか? ネットのサービスだとBitbucketやGitHubなどが有名ですが、ネット上のサービスではなく自前のサーバで運用したいことも多いと思います。今回のブログでは当社でも使っている「Kallithea」というオープンソースソフトウェアを紹介します。
GitとMercurialに対応したオープンソースのリポジトリ管理ツールで、Git・Mercurialリポジトリのホスティングを行うサーバを簡単に構築できます。リポジトリやユーザーの管理機能のほか、プルリクエスト、コードレビュー支援、全文検索などの機能も備えています。リポジトリを中心とした機能に特化していて、シンプルでわかりやすいのが気に入っています。
ちなみに Kallithea というのはギリシャの都市です。Dictionary.comによるとギリシャ語での発音は "kah-lee-they-ah" ("they"にアクセント) だそうなので、カタカナだと「カリセア」が近そうです。私は「カリセア」と読んでいますが、日本の地図や観光分野では「カリテア」と表記されることが多いようです。
オープンソースのリポジトリ管理ツールはGitlabやGitBucketなどGitのみに対応したものが多い中、KallitheaはGitとMercurialを併用できます。個人的にはGitよりもMercurialのほうが好きでよくMercurialを使うので大変助かります。
Pythonで記述されているKallitheaは、Pythonのパッケージ管理システム「pip」を使って簡単にインストールできます。
例えば最小構成でインストールした直後のCentOSへのKallitheaのインストールは、以下のコマンドで済みます。
yum install python-devel git yum groupinstall "Development Tools" easy_install pip pip install kallithea
その後若干の設定は必要ですが、単に立ち上げて動作確認するまでであればこれだけです。
mkdir -p /var/lib/kallithea/repos cd /var/lib/kallithea paster make-config Kallithea kallithea.ini paster setup-db kallithea.ini paster serve kallithea.ini start
リポジトリやリポジトリグループ(フォルダ)ごとにアクセス権限の制御ができます。
IPアドレスによるアクセス元制限機能があります。インターネット上のサーバに設置するときにも比較的安心して使えます。ホワイトリストはアプリケーション全体の設定のほか、ユーザーごとに追加のホワイトリストを設定することもできます。
コミットメッセージ内に「#123
」などの形式でRedmineなどの課題管理システムのチケット番号を記述すると、番号からそのチケットへリンクされるよう設定できます。
Kallithea自体はチケット管理やWikiなどの機能を持たずリポジトリ管理に特化しているのでRedmineなどと機能がかぶることがなく、併用に適しているのではないかと思います。
プルリクエストに対応しているので、プルリクエストベースのワークフローで仕事ができます。
定期的にインデックスを作成させるための設定が別途必要ですが、リポジトリのファイルの内容、コミットメッセージ、ファイル名を対象に全文検索が行えます。
以上、Kallitheaの紹介でした。私としてはかなり気に入っているツールですので、今後もぜひ継続的に発展して欲しいと願っています。そのためには多くの人に使ってもらうことが必要ですが、現状では日本語の情報はあまり多くありません。
そこで、Kallitheaの利用に関する日本語情報を発信するためにwebサイトを8月22日(土曜日)にオープンしました。インストール・設定・操作など、Kallitheaを活用するための情報をワンストップで提供できるサイトを目指しています。
kallithea-users.jp のオープンと同日、オープンソースカンファレンス2015 ShimaneのセミナーでもKallitheaの紹介をしました。
もし関心を持たれましたら一度使ってみていただけるとうれしいです。
エンタープライズプランのIPアドレス制限の上限を200個から400個へ引き上げ エンタープライズプランのIPアドレス制限の上限を200個から400個へと引き上げました |
|
2024年5月11日 オライリー本の全冊公開日のお知らせ(もくもく勉強会も同時開催) ファーエンドテクノロジーが所蔵するオライリー本(全冊)公開日のご案内です。公開日には「もくもく勉強会」も同時開催します。 |
|
入門Redmine 第6版 出版記念企画セミナー「Redmineのアクセス制御」【2024/5/30開催】 入門Redmine 第6版(2024年3月23日発売)の書籍から「Redmineのアクセス制御」について解説します。 |
|
My Redmine 初回ご契約で「入門Redmine 第6版」プレゼントのお知らせ Redmineのクラウドサービス「My Redmine」を初めてご契約いただいたお客様にRedmine解説書「入門Redmine 第6版」を進呈いたします。 |
|
Redmineの最新情報をメールでお知らせする「Redmine News」配信中 新バージョンやセキュリティ修正のリリース情報、そのほか最新情報を迅速にお届け |