Gitリポジトリを自前サーバーで管理するツール「GitServ」

2015年3月21日

git Tool プログラミング

GitHubは公開のOSSを管理するのに非常に便利なんですが、公開されて困るような仕事などで使うのはNGですよね。 有料版を使えばいいわけだけど、この辺に費用をかけるのもモドカシイ。

GitLabを使えばいいじゃない?

類似ツールの「GitLab」を使ってもいいのだが、このツール、Ruby,Python,Nginx・・・という風に言語統一がされていないばかりか、 各モジュールのバージョンが非常に細かく制限されている。 実際にインストールしてみたが、確かに使い勝手はGitHubと同じぐらいなんだが、バージョンアップや、サーバーメンテの際にトラブルが必ず起きる。 あと、どのようなデータ管理をしているか知らないが、サーバーがよく落ちる。

求められる機能

・Gitリポジトリが共有サーバーで管理。 ・サーバー上でブランチやソースコードなどの確認 ・コミット履歴などの確認
とりあえず、このぐらいできれば、実はそんなにハイスペックな機能などいらないのだ・・・ ブランチ履歴など、GUIで見られると確かに便利なんだが、今後のバージョンアップで行うこととして、 まずは、最低限バージョンを作ってみた。

GitHubにアップしてます

https://github.com/yugeta/gitserv 気になる人は、ここからサーバーに直接ソースをcloneして、使ってみてくだされ。

使い方

1.GitHubからcloneしたデータにapache接続でアクセスすると、以下のような画面が立ち上がります。 2.「Config」メニューを押して必要情報を入力
※データの保存先ディレクトリは、gitリポジトリをまとめて保存するディレクトリです。事前に作成しておいてください。 ※サーバー作業用ユーザーアカウントは、gitアカウントを指定したほうがいいです。(gitインストールの時に作っておくと便利)
3.「Repository」メニューに移動すると、新規リポジトリが登録できます。  ここは任意の名前を登録してください。 4.ようやくTopに言って、リポジトリデータにアクセスすると、以下の情報が見られるようになります。
・ソース・ファイル一覧 ・ブランチ一覧 ・コミット履歴 ・ファイルを選択した場合はテキストファイルデータの内容表示

Issue

・リポジトリの削除ができません。(今のところ必要なかったので付けてないだけです) ・ファイルプレビューで画像対応(今のところテキストファイルのみです) ・設定やリポジトリ名のバリデーションチェック(半角英数でお願いします)

メリット

とにかくPHPだけで作っているんですが、非常に軽いと思います。 まだ大容量データで試してないのでわかりませんが、構成がシンプルというのが、自分で改良するのも容易ではないでしょうか。 僕もGitはそんなに深いところまでは理解できていないんですが、このツールを作って、まあまあ理解出来ました。 Gitが苦手という人用にAccessというところで、よく使うPUSHやCLONEなどのコマンドを表示してるんですが、こういったサポート機能は、作業をしている時にコマンド弱い人でも使えると思うので、今後は、commit、marge,diff,など、もっと実用的にしていきたいですね。 とりあえず、GitHubで問題無い人は、このツールは必要ないと思うのですが、このツール作るの面白かったので、RubyオンリーやPythonオンリーでも作ってみたいですね。

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。