gitolite.confの書き方覚書

ネタ的には前々回の続き

gitoliteは「gitolite-admin」と言うリポジトリに登録されている
「gitolite.conf」に設定を記述し、コミット&プッシュをすることで、
リポジトリの作成や削除、アクセス権の設定が行える。
修正するたびに書き方調べるのもアレなんで、備忘録。

 

リポジトリ「hoge」を作成する

※アクセス権に関しては後述

repo hoge
    RW+     =   @all

 

リポジトリ「hoge」を削除する

confファイルから「hoge」に関する記述を削除する。
※サーバにあるリポジトリの実体は削除されないので、手動で削除する。

 

アクセス権の種類

gitoliteはリポジトリに、ユーザ単位、グループ単位でアクセス権を与えることができる。
アクセス権の種類は以下のとおり

RW+ 読み取り、書き込み、巻き戻し可能
RW 読み取り、書き込み可能
R 読み取り可能

※RW+はコミットの取り消しができる権限。多用すると混乱を招くので、管理者以外は与えないようにした方が無難。なんなら、管理者も禁止した方がいいかも。

 

リポジトリのアクセス権設定

リポジトリにアクセス権を設定する場合は、リポジトリに続けてアクセス権を記述する。

例1)foo、barに読み取り、書き込み権限、rootにすべての権限を与える

repo hoge
    RW+     =   root
    RW      =   foo bar

 

例2)fooは読み取りのみ、barに読み書き、rootにすべての権限を与える

repo hoge
    RW+     =   root
    R       =   foo
    RW      =   bar

 

例3)全員に読み取り権限、rootのみすべての権限を与える

※グループ設定については後述

repo hoge
    R       =   @all
    RW+     =   root

 

グループ設定

権限を一人ずつ設定するのは面倒で煩雑になるため、グループを設定する。
グループは「@***」で定義し、スペース区切りでユーザ名を指定する。
※@allはデフォルトで設定されているグループで、全ユーザが含まれている。

@developer = foo bar
@tester    = fuga
@admin     = root

repo hoge
    R      = @tester
    RW     = @developer
    RW+    = @admin

 

ブランチのアクセス権設定

gitoliteはブランチのアクセス権設定も可能。
ただし、ブランチ名は正規表現なので注意が必要。

repo hoge
    RW  dev-   =  @all
    R   rel-   =  @all
    RW+ rel-   =  @admin

上記だと、「dev-」から始まるブランチは、全員が読み書き可能だが、
「rel-」から始まるブランチは、adminグループのユーザのみが
読み書き巻き戻しが可能となる。
ちなみに、「dev-」ブランチのみに設定したい場合は以下のように記述する

repo hoge
    RW  dev-$  =  @all

なお、ひとつのブランチに読み取り権限を設定すると、
同一リポジトリの他のすべてのブランチにも読み取り権限が付与される。
ブランチごとに設定できるのは書き込み権限以上なので注意すること。

 

他にも、ファイルに対してアクセス権を設定できるらしいけど、
ここら辺はまだ試してないので、おいおい。

 


この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL