個人プロジェクトや社内プロジェクトでGitをプライベートで運用したいという要望は結構あると思います。
GitHubは世界的な大人気サービスですが無料プランでは非公開リポジトリを作成することはできません。GitHubクローンソフトを導入すれば思うままにリポジトリを作成することができますが、インストールや設定に時間がかかりがちという弱点がありました。
本日紹介する「Gogs」はGitHubクローンの一つ。Goで作られていて最高に簡単に始めることができるのが特徴です。設定に手間取らないのですぐに試すことができます。
インストール方法
バイナリのダウンロード&サーバー起動
「Install from binary」から、Windows / Linux / Mac OS X用のバイナリをダウンロードすることができます。今回はMacで試してみました。
↑gogs_v0.4.2_darwin_amd64.zipの中身はこのような感じ。
データベースはMySQL、PostgreSQL、SQLite3をサポートしていてMySQLやPostgreSQLを使う場合は事前にインストールしておく必要があります。SQLite3の場合このままでOK(詳細はInstallationをどうぞ)。
ターミナルを起動しzipを展開したディレクトリに移動。以下のコマンドを実行しサーバーを起動します。
./start.sh
この段階で特に設定ファイルなどを変更する必要はありません。
初期設定
ブラウザで「http://localhost:3000」へアクセスします。以下の画面が表示されます。
Macでとりあえず動かしてみる場合、「Run User」と「Username」をMacのログインユーザー名に変更して、「Password」を適当に設定(これはシステムのパスワードと無関係で良い)、「E-mail」も設定し、「Install Gogs」ボタンをクリックします。
この画面が出れば設定完了。簡単ですね!!
使用方法
GitHub/GitHubクローンを使った人ならばあまり迷うことはないと思います。
↑ダッシュボード画面。「Your Repositories > New」で新しいリポジトリを作成することができます。
↑リポジトリ作成画面。この辺もお馴染みの画面ですね。
↑リポジトリ作成後の操作方法も表示されて親切です。リポジトリへのアクセスはSSH/HTTPSプロトコルをサポートしています。ターミナルを起動して以下のコマンドを実行すればリポジトリにREADME.mdが格納されます。
touch README.md git init git add README.md git commit -m "first commit" git remote add origin http://localhost:3000/sora/sample.git git push -u origin master
SSHプロトコルを使う場合、SSHキーを事前に登録しておく必要があります。HTTPSプロトコルの場合Gogsにログインするユーザー名とパスワードを使ってpushできます。
まとめ
Gogsを使い始めるためには「./start.sh」して「http://localhost:3000」にアクセスするだけで良いということがお分かりいただけたかと思います。GitBucketも簡単でしたが、Gogsは別途アプリケーションサーバーの準備さえ不要です。
各種プラットフォーム要のスタートアップスクリプト(自動起動要の設定)が見当たらなかったので、実運用する場合GitBucket等の他のGitHubクローンのほうが現段階では便利なのかもしれませんが、今後補完される可能性はあります。
あとはGoのクロスプラットフォーム特性から、Windows / Mac / Linux用のバイナリが準備されているのも嬉しい点です。
他のクローンソフトとの比較に関してはHacker Newsでの議論も参考になります。Gogsは今後も注目プロジェクトになりそうですね。