Hacker Newsでこんな記事が流れていました。Hacker Newsでのコメントはこちら。
こういう記事でAlternativeとしてGitBucketがあげられるようにならないといけないなぁと思うもののそれはさておき、先日の障害のときのようにGitHubが落ちたら仕事にならなかったりとか、SourceForgeやGoogleCodeの件を見ても今後GitHubのサービスがずっと今の形で継続するという保証はどこにもありませんし*1、さらにGitLabのオンプレ版であるGitLab CEはGitBucketと直接競合するということもあり、機能面を把握しておくためにGitLab.comを試してみることにしました。
GitHubやBitBucketなどのアカウントでログインすることができ、これらのサービスからリポジトリをインポートすることもできます。試しにリポジトリを作ってみました。
GitHubやBitBucketと比べると見た目がBootstrap全開で動きももっさりしていますが、機能的にはイシュー、プルリクエスト、Wiki、Webフックや外部サービスとの連携など必要そうなものは一通り揃っています。
https://t.co/5g3OKiNWXZを試してみてる。プライベートリポジトリを作れるサービスということで比較対象はBitBucket。使い勝手はBitBucketのほうがよさそうだけど、プライベートリポジトリにも制限がほぼなかったりCI連携も統合されているのはよいところ。
— Naoki Takezoe (@takezoen) 2016, 2月 20
独自の機能としてはGitLab CIとの連携機能があり、リポジトリのルートディレクトリに.gitlab-ci.yml
というファイルを作成しておくとGitLab CIを使ったビルドを行うことができます。GitLab CIはdockerコンテナを使ってビルドを行うようで、使用するイメージや実行するコマンドなどをYAMLで指定することができます。
また、少し驚いたのですがGitHubのリポジトリの内容をツリー形式で表示できるOctotreeというChorme拡張があるのですが、GitLabもサポートされているようです。
リポジトリビューアでファイルを編集したり、Wikiを更新したりしようとすると500エラーが頻発していました。何かトラブルが起きていたのでしょうか。また、Wikiで日本語のページ名が使えないといった問題もあるようです。
ただ、Wikiを編集したり、リポジトリブラウザでファイルを編集しようとしたりするとカジュアルに500エラーが頻発するなど正直かなり厳しい感がある。大丈夫なのだろうか…。
— Naoki Takezoe (@takezoen) 2016, 2月 20
この手のサービスを安定して提供するのは大変だろうなぁという気はするものの、開発・運用フローにおいてSPOFになるサービスが不安定なのは困るのでプライベートリポジトリを数名で共有するだけであればやはりBitBucketを使っておくのが無難という結論になった。
— Naoki Takezoe (@takezoen) 2016, 2月 20
https://t.co/5g3OKiNWXZ、細かいところまでは見れていないけど、UIがBootstrap全開、動作がもっさりしている、頻繁に500エラーが出る以外は機能面ではだいたいGitHubの機能を押さえており、安定さえしていれば是非使いたい。
— Naoki Takezoe (@takezoen) 2016, 2月 20
数年前、前職で自分のチームで初めてGitを導入した時はGitLabを使っていたのですが、そのときのインストールやメンテナンスの煩雑さがGitBucketを作り始めるきっかけになったのでした。当時のGitLabと比べると比較にならないほどの進化を遂げており、GitLab CEも最近は簡単にインストールできるようになっているようですが、SaaSとしてのGitLab.comは機能面はともかく安定性の面でチーム開発の拠点として使用するのはちょっと厳しいかな…と感じてしまいました。
とはいえ無料でほぼ無制限のプライベートリポジトリを運用できる*2のは魅力的なので今後も密かに見守っていきたいと思います。