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オンリーでも作ってみたいですね。
0 件のコメント:
コメントを投稿