1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

子供の想像力を伸ばしアイデアを形にする小学生向けプログラミング教室「プロスタキッズ」

チャットしながら開発?流行の開発手法ChatOpsとは?

Pocket

はじめに

DevOpsという言葉を聞いたことがありますか?

DevOpsは開発手法の一つであり、開発と運用を融合させる方法として今流行の兆しを見せています。
そして、DevOpsの具体的な実践方法の一つに「ChatOps」と呼ばれるものがあります。
ChatOpsは、簡単にいえばチャットを使って開発を進める方法です。

この記事では、チームでの開発手法を学びたいエンジニアの方のためにChatOpsについて説明していきます。使えそうな手法だなと思ったら、あなたもぜひ導入してみてください。

DevOpsの簡単な説明

はじめに、DevOpsについて簡単に説明しておきます。
DevOpsは具体的な開発手法というよりも概念的なもので、意見が対立しがちなDev(開発)とOps(運用)が協力してプロジェクト進めていこうという一種の考え方です。
具体的な実践方法にはいろいろありますが、そのひとつが今回紹介するChatOpsです。

ChatOpsはどんな開発手法?

ChatOpsは、メッセージングツールである「チャット」を開発に活用する開発手法です。
チャットを使うといっても、チームメンバーと普通に会話するだけではありません。
チャットを通してビルドやデプロイ、テストなどのタスクを実行するのです。

タスクを実際に実行するのは人間ではなく「チャットボット」です。
チャットボットを人間と一緒にチャットに参加させておき、タスクを実行してほしいときにチャットボットにコマンドを送って実行してもらいます。

こうすれば、コマンドを送るだけでチャットに参加している人なら誰でもタスクを簡単に実行でき、誰がいつどんなタスクを実行したかも自然とチャット履歴に残るわけです。

ChatOpsの具体的な実践方法

それでは、具体的にはどのようにChatOpsを実現するのでしょうか?
ChatOpsの実現方法はさまざまですが、
一番メジャーな方法は「Slack」と「Hubot」を使った方法でしょう。

Slackは、エンジニアに人気のチャットサービスで、ボットをサポートしているためChatOpsを実践するのに最適です。
一からボットを作るのは大変なので、GitHub謹製のオープンソースボットフレームワークであるHubotを使います。

ローカルマシンでHubotを動作させるためにはNode.jsが必要です。
また、Hubotのプロジェクトテンプレートを作るためにYeomanが必要なので、それにもNode.jsを使います。

先ほど説明したとおり、タスクを実際に実行するのはチャットボットであり、そのためのコマンドをHubotに実装する必要があります。
Hubotは「CoffeeScript」を使ってカスタムコマンドを実装でき、ローカルマシンでSlackと接続してテストすることも可能です。

実際にChatOpsで活用する際には、Hubotをサーバーにデプロイして常時動作させておきます。
そのためによく使われるのは「Heroku」です。
Herokuは有名なPaaSサービスで、無料プランがあるため気軽に使えます。

HerokuにHubotをデプロイするためにはGitを使います。
といっても、Herokuの画面上の指示に従ってコマンドを実行していくだけなので、Gitを使ったことがない方でも難しいことはないでしょう。

SlackとHubotとの連携は、Slack側で取得したAPIトークンをHerokuの環境変数にセットするだけなので簡単です。後は、HerokuでHubotを起動させておき、Slackからチャットボットをチャットに招待すれば無事Hubotに実装したコマンドを実行できるようになります。

任意のコマンドを作成できるため、アイディア次第でいろいろなタスクが実行できます。
運用の負担を減らすコマンドはもちろん、GitHubのWeb APIを使ったコミット・マージ・プルリクエストなども行えます。

開発現場によっては、コマンドで指定したキーワードに関する画像をネットから拾ってきてチャットに表示するお遊びコマンドを実装しているところもあります。
ハムスターなどの動物の画像を表示すれば、現場の空気が緊張しているときでも和みますね。

あなたもいろいろなコマンドを作ってみて、チャットボットに実行させてみましょう。

まとめ

開発プロジェクトは一人で行うものではありません。
プロジェクトの進め方によってはチームワークがうまくいかず、プロジェクトが失敗してしまうかもしれません。
プロジェクトを成功に導くためにも、より良い開発手法を採用していきましょう。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る