Redmineとgitosisプラグインでgitosisを使う

前提項目

  • redmineとgitosisは同じサーバで運用する
  • OS: CentOS 5.5
  • ホスト名:example.jp
  • redmineのインストールディレクトリ:/opt/redmine
  • redmineはPassengerでApache上で動いている
  • Apacheユーザ:apache
  • Apacheのホームディレクトリ:/var/www
  • gitosisデータディレクトリ: /var/lib/gitosis
    (gitosisのRPMパッケージインストール時に自動的に作成される)
  • (root)#: サーバ上のrootコマンドプロンプト

gitosisのインストール

EPELをCentOSに追加

(root)# rpm -ivh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
(root)# yum install -y gitosis

/var/lib/gitosisとユーザ gitosisが作成される

gitosisのセットアップ

ユーザapacheのSSHキーの作成

(root)# sudo -H -u apache ssh-keygen

パスフレーズなしで作成。
/var/www/.ssh内に鍵が作成される

gitosisの初期化

(root)# sudo -H -u gitosis gitosis-init < /var/www/.ssh/id_rsa.pub

/var/lib/gitosis内にgitosis関係のファイルが作成される

hookスクリプトのパーミッションチェック

(root)# ls -l /var/lib/gitosis/repositories/gitosis-admin.git/hooks/post-update

755になっているかチェックして、もしなっていなければchmodでセットする。

gitosisの管理用リポジトリがクローンできるか確認

(root)# cd /tmp
(root)# sudo -H -u apache git clone gitosis@localhost:gitosis-admin.git

gitosis-adminリポジトリが作成されていればOK

redmineのgitosisプラグインのインストールと設定

インストール

(root)# cd /opt/redmine
(root)# ruby script/plugin installhttps://github.com/rocket-rentals/redmine-gitosis.git
(root)# cd vendor/plugins/redmine-gitosis/
(root)# rake db:migrate:plugins RAILS_ENV=production
(root)# /sbin/service httpd restart
        ※redmineの再起動の代わりです

gitosis_public_keysというテーブルが追加されます。

gitosisプラグインの設定

プラグイン本体の設定

redmineに管理者ユーザでログインし、「管理」→「プラグイン」→「Redmine Gitosis plugin」→「設定」

  • Gitosis URL: gitosis@localhost:gitosis-admin.git
  • Gitosis identiti file: /var/lig/gitosis/.ssh/id_rsa
  • Base path: /var/lib/gitosis/repositories
  • Developer base URL(s): ssh://gitosis@example.jp/
  • Read-only base URL(s): ssh://gitosis@example.jp/
    ※今回Read-only base URLの設定はしなかったので、とりあえずDeveloper base URLと同じにしています。

redmineから/var/lib/gitosis/repositories/の内容が参照できるようにグループ gitosisにユーザ apacheを加える

(root)# usermod -G gitosis apache

各ユーザ用の設定

redmineにgitosis用のSSH鍵の登録

  1. redmineにログイン
  2. 「個人設定」→「Public keys」→「新しい値」
  3. 「タイトル」に適当な識別名、keyにSSHの公開鍵の内容を貼り付けて、「作成」ボタン押下

redmine上からリポジトリの作成とリポジトリアクセス権の付与

  1. redmineプロジェクトの作成
  2. プロジェクト設定→「メンバー」でメンバーを加える
  3. プロジェクト設定→「リポジトリ」で「バージョン管理システム」で「git」し、「作成」ボタン押下
  4. 「リポジトリ」に移動して新規にリポジトリを作成する場合は「Repository Setup」、既存のリポジトリを登録する場合は「Existing Git Repo」に書かれている手順に従ってリポジトリを作成
  5. 正常に登録できていれば、「リポジトリ」に追加したリポジトリの内容が見られるようになります。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中