2018年9月15日土曜日

GitLabを使ったプライベートGitリポジトリーの管理を止め改造版 Ginatra にしました。

勉強の為に転載しました。
http://yuumi3.hatenablog.com/entry/2015/08/11/164003

コメント:
注意!Gintraは、ファイル単位の履歴、historyが見れない問題があるので、結局、私は運用するのを辞めました。GitlabかGogsかGiteaにしようと検討中です。

プライベートGitリポジトリーの管理

私の会社 EY-Ofiice は零細企業なので プライベートGitリポジトリー はGitHub等の有料サービスではなく、さくらクラウド上のサーバーで GitLab を動かしてきました。 しかし、
  • 通常の開発は一人でしか行わないのでpull request等の機能はいらない
  • GitLabは処理が重くサーバーのメモリーを増やさないと遅すぎる
  • 複数人で開発するような仕事ではお客様側でGitHub等を用意してくれる
  • 教育でGitLabを使う事があるが、その時だけGitLab用サーバーを用意すれば良い気がする
ということで、あまりメリットを感じていませんでした。
Gitを使い始めた頃は GitWeb でリポジトリーや履歴が表示と。自作した新規リポジトリー作成CGIで運用していました。

Ginatra

Git用のWebツール を見ていたらSinatraベースの Ginatra ( GitHub ) を知り、インストールしてみました。
Ginatraは Gitリポジトリーのファイル(コード)や履歴の表示ツールです。Sinatraベースなので動作も軽いし、メンテも楽で、今風の画面デザインも気に入りました。

Ginatraの改造

ただし、不満もあり Fork し機能を追加。変更しました。

1. リポジトリーの階層化

Ginatraは複数のGitリポジトリーディレクトリーをサポートしていますが、フラットに管理しています。EY-Officeでは docs(ドキュメント), edu(教育用), products(製品)・・・などのディレクトリーの下にGitリポジトリーを置いています。GitLabには Groupという機能がありこれを使っていました。
やはり、グループが無いと不便なので Repo クラスに group属性を追加し group:name をレポジトリーの識別子として使うように改造しました。 また、一覧表示は Bootstrap の Collapse(Accordion)を使い表示するようにしました。
f:id:yuum3:20150811153016p:plain

2. 新規リポジトリーの作成

Web上かから新規にGitリポジトリーが作成作成出来るようにしました。Ginatraで使っているRugged(libgit2のRubyインターフェース)に git init のAPIがあったので簡単にできました。
f:id:yuum3:20150811153029p:plain

3. その他

などです。まだ RSpec を修正していません ^^;

0 コメント:

コメントを投稿