スプーキーズのちょっとTech。

SPOOKIES社内のより技工的な、専門的なブログページです。

GitLab 移行の話

  • GitLab 移行のお話

久しぶりにネットサービスの海を泳いで爽快な西塚です。

GitLab に Commit 出来ない問題が発生

なんてことはない。Gitサーバのディスク容量が一杯になり、Commitができない状態が発生していました。 ※サーバ管理者としてDiskfullなんてーというツッコミはなしで。

GitLab on AWS

AWSで、Gitlabで運用しているのですが、バージョンも7.6 だったので、7.9にアップデート、ディスクを100GB から、1TBに容量を増やしました。

7.9 では nodejs が入る等、かなりアップデートされているようでしたが、かなり遅くなって、かなり不評でした。

もともと、アクセスが少ないことやコストを考えて、1インスタンスに社内の別のサービスとも同居していて、Ruby が4バージョン(1.8.7, 1.9.2, 2.0.x, 2.1.x)入れた状態で、rvmで切り替えて運用するなんていう七面倒臭いことをしてました。

どのRubyにどのGemがー、なんて適当な私はいつも混乱してたりしたのですが。

1インスタンス1サービス

最近は、メンバーも増えてアクセスの遅さもクリティカルな問題となってきたので、1インスタンス1サービスのような形にしようという方針になりました。

AWSのインスタンスもだいぶ値下げされて、インストールやトラブルシューティングよりもコスパが良いという結論です。

Git に関しては、自社運用以外にもサービスがいっぱい提供されているので、メジャーなサービスも含めて検討しました。

Gitリポジトリサービス選定

GitHub 王道ですね。

BitBucket 何度か利用したことがあり、使い勝手もわかっていたのですが。 Backlog タスク管理はBacklog を利用しているのですが、サービスの利用に容量制限があり、Gitのリポジトリを潤沢に作成することが不安でした。

タスク管理 Issue Tracker

また、Gitのリポジトリと一緒に考えたいのが、他のタスク管理やチャットサービスとの連携です。

個人的には現状では、ただプロダクトの開発を、闇雲に進めるのではなく、仕事として考えて進めるスタイルが良いと考えており、他の Isuue Tracker よりも、一番 Backlog がしっくりきています。

利用サービス全体で検討

また、サービスのベンダーを揃えると、連携がしやすくなるというメリットがあります。

Gitリポジトリ タスク管理 チャット ナレッジ 備考
a BitBucket ○ JIRA ○ HipChat ? Confluence ? Atlassian コンボ
b Backlog △ Backlog ◎ TypeTalk △ Backlog Wiki △ Nulab コンボ
c GitHub ◎ GitHub △ * (Slack ◎) * (Qiita Team ○) GitHub 等メジャー中心構成
d GitLab ○ Backlog ◎ Slack ◎ esa.io ○ Spookies ごった煮

そのサービスが良いか、どうかというものではなく、うちの運用に合っているかという観点で評価をしています。また、コスパも加味しています。

ナレッジに関しては定まっていない感はありますが、Qiita、DocBase あたりをテストしてみて、結果 esa.io に賭けてみようかと考えています。

結局、サーバは移行したけど、巡り巡ってGitlabは変えなかったという話でした。

でも、色んなサービスを久しぶりに触って楽しかった。

良いサービスがあれば、是非教えてください! 是非、情報交換しましょう!

おまけ

サービス連携

別記事で書こうかと思います。

プロジェクト管理

ついでに、Podio、Wrike を使って見ましたが、ピンと来なかったので見送り。