弱小チームでも大丈夫!? 社内で GitHub Enterprise モドキを運用するなら gogs が超簡単!!

社内で GitHub Enterprise を利用したいのですが、そんな予算もないという小さなチームに所属している方に朗報です。
Go 言語で書かれた gogs (Go Git Service) という OSS が本日公開されました。
(開発自体は以前から行われていましたが、v0.2.0 が最初のリリースのようです)
gogits/gogs - Github

Go 言語で書かれているため、Windows でも、Linux でも、Mac でも動かせます。データベースは SQLite3 を選択できるので、どの環境でも手軽に環境を構築して、いらなくなったらポイするのも簡単です。Gitlab も良いのですが、構築がつらいので・・・。
いやぁ、Go 言語、きてますね。熱すぎる。

画像はリンク先の「オリジナルサイズを表示」で詳しく表示されます。

インストール

インストールは簡単なのでさくっとやってみます。今回は MacOS X 10.9 に gogs を構築します。
といってもやることは下記からバイナリをダウンロードして展開するだけです。
SQLite3 を利用したいので「SQLite3 built-in(64-bit machine only): Windows - Linux - Mac OS X 」のからダウンロードします。

https://github.com/gogits/gogs/wiki/Install-from-binary


ダウンロードが終わったらファイルを展開します。

展開が終わったら Terminal.app で gogs を展開したディレクトリに移動し、以下のコマンドを実行します。

$ cd path/to/gogs
$ ./gogs web

問題なく起動できれば http://localhost:3000/ にアクセスします。
初回はインストール画面にリダイレクトします。http://localhost:3000/install

DBを「SQLite3」に変更して、管理者ユーザーを 「adminuser」 として作成します。
Run user は今回はとりあえずさくっと構築するだけなので、ログインユーザーと同じにしました。実際に利用するときは 「git」 のままのほうが良さげな気はします。

さくっと環境構築が完了したので、ログインします。
以下、スクリーンショットをご覧ください。





issue だって使えます。



ただし、プルリクエストはまだない?

clone/commit/push してみる

SSHキーを登録しておけば以下のように clone してきて編集してコミット、プッシュも可能です。
レポジトリを作成してみます




SSH キーを登録して

Mac の環境設定でリモートログインを有効にしておきます。

clone/commit/push してみます

$ git clone admin@localhost:adminuser/hello.git
$ cd hello
$ vim README.md
$ git add .
$ git commit -m "Hoge"
$ git push origin master

おお、できますた!

今後に期待十分!

いかがでしょうか。最初のリリースにしてはかなりできが良いように感じました。
Github Flow 的な使い方や CI連携などをする場合は考える必要がありますが、今後に十分期待できるのではないでしょうか。