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 を使って見ましたが、ピンと来なかったので見送り。