1
/
5

Chat Opsで開発スピードUP!【Seibiiエンジニアチーム】


Seibiiの開発チームでは、退屈なこと・同じ作業の繰り返しはソフトウェアで自動化!な思想のもと、ChatOpsを活用しています。ChatOpsは、Seibiiが大切にしている開発の考え方にはなくてはならない仕組みなのですが、カジュアル面談でこのお話をすると、意外と活用している企業さんは少ない?!この機会に私たちのChatOps活用方法について紹介させてください。


ChatOpsとは

「Chat」+「Ops」の造語で、チャットサービスを活用してオペレーションを運用するという意味です。Chatで複数のサービスやプログラムを連携させることにより、人間がやるには退屈で、繰り返し発生する業務を自動化し、貴重なエンジニアの時間を、より付加価値のある仕事に(削除。直前と重複しているので。)割くことができます。


ChatOpsの活用方法!

SeibiiではLitaというrubyのライブラリを使用しています。

余談ですが、Seibiiのサービス本体はAWS上で動いていますが、このLita君(botなので君付けします!)はHeroku上で稼働させることによりできるだけメンテコストが発生しないようにしています。

さて、ここから、実際どのようにChatOpsを活用しているのか、説明します!

活用例①コードレビュワーを選定

Seibiiにはコードレビュー文化が根付いており、大切にしています。レビュー文化を実践する為には、レビュワー選定の業務が発生しますが、Seibiiでは実装が終わった段階で Slack上にて 「lita review <<PRのURL>>」とコマンドと打つだけで、Lita君が自動的に Reviewer を選んでくれます。指名はGitHub上でも確認できます。


活用例②リリースブランチのプルリクエスト作成

コードレビューでLGTMを貰ったら、master branchにマージ、そこから本番リリース用のPRを作成します。ここでLita君が再度登場します。Slack上で 「lita dapi」 などコマンドを打つと本番リリースのPRを作成してくれます。



このPRをマージすることで本番環境用のブランチにマージされます。あとは自動的にCircleCIが本番環境にデプロイするので反映されるまで待つだけです。

③本番リリース後:リリースノートの土台を自動作成

Seibiiでは、開発した内容・履歴を残すために、本番デプロイの都度、情報共有ツールesaにリリースノートを作成しています。Seibiiでは2-3日に1つ以上は本番リリースをしていますが、リリースノート作成を毎回手動で行うのはなかなか億劫です。そこで、Lita君が再度登場します。「lita esa release<<リポジトリ名 & 作成日付>>」のコマンドを打つだけで、Lita君がリリースノートのドラフトを作成してくれています。


LitaがPRの必要な部分をesaに自動的に転記してくれるので、後はエンジニアが多少の加筆修正をするだけでリリースノートが完成します!



ChatOpsを活用する3つの理由


退屈・繰り返し発生する業務を自動化、と冒頭に書きましたが、もっと具体的にChatOpsを採用している理由3つを説明します!

理由①レビュワーが偏らないようにするため

Litaがランダムにレビュワーを指名してくれるので、以下のような事象を防ぐことができています。

- 特定の人しか触れない領域が発生する

- 特定の人に業務負荷が集中する

- それぞれの技術領域がブラックボックス化する

一方で指名された人以外もレビューしてOK、むしろ推奨しています。これはランダムに指名する故の弱点を補強する狙いもあります。

  • 指名された人がその分野に弱く適切なレビューができない可能性がある
  • 指名された人が長期休み中でしばらくレビューが滞る

理由②開発を効率化させるため

前述のとおり、レビュワーの自動指名、本番リリースに向けたPullRequestの作成、リリースノートの土台作成等、ルーティンで発生する「単純だけど重要な業務」に、エンジニアが時間を使うことがなくなる為、業務の自動化・効率化に活きています。

理由③テキストで残す文化のSeibiiにピッタリ

常に情報はオープンに!Seibiiでは、各メンバーの業務・施策のプロセスや意思決定について、ドキュメントに残し言語化していくことを重要視しています。非同期のメンバー、これからジョインしてくれる仲間にも、等しく情報を流通させるためです。

Litaの活用によってリリースノートが効率的に残せるのは、ドキュメントを残すSeibii文化にマッチした便利機能です。(ゼロからリリースノートを書くのはかなりしんどいです…)



以上、SeibiiのChatOps活用方法についてでした。

株式会社Seibii's job postings

Weekly ranking

Show other rankings