トラスティア社員が開発! システム開発に関わる全ての情報を集約するオープンソース「DevHub」

DevHub デモ画面より

システムエンジニア・プログラマーの為の開発支援コミュニケーションツールとしてGitHubで公開されているオープンソース「DevHub(デブハブ)」。

トラスティアの開発現場でも毎日使われています。

このDevHubを開発したのはトラスティア社員のKODAMAさん

KODAMA
DevHub以外にも複数のツールをオープンソースとしてGitHubで公開しています。

本記事ではKODAMAさんが開発した「DevHub」をご紹介します。

DevHubの目的

DevHubの目的はズバリ、

「システム開発に関わる全ての情報をDevHubを使って集約する」

ということ。

理想としては、DevHubを見れば開発現場で起こっている事象やアクション、情報を把握できるというのを目指しています。

トラスティア開発現場でのDevHub利用イメージ

実際にトラスティアの開発現場で利用しているDevHubの利用イメージをご紹介します。

なお、DevHubは「Node.js」と「MongoDB」で開発されており、トラスティア内ではローカルネットワークで構築しています。

全体像

GitBucketとの外部連携

トラスティアでは以下の目的でGitBucketを利用しています。

  • ソースコードの構成管理
  • コードの見える化

DevHubとGitBucketを外部連携させ、DevHubに「コードに対するアクションを通知」させています。

DevHubの機能と目的

DevHubに備わっている機能と目的については、以下の3つがあります。

  1. 「チャット」によるコミュニケーションの効率化
  2. 「共有メモ」による情報共有の高速化
  3. 「ブログ」によるナレッジの蓄積

実際の画面について等は後述します。

汎用通知APIでJenkinsから通知させる

トラスティアでは以下の目的でJenkinsを利用しています。

  • ビルド自動化
  • リマインダー

汎用通知APIを利用してDevHubとJenkinsを外部連携させ、DevHubに「自動ビルド結果、定期発言などを通知」させています。

DevHubの画面イメージ

メンバリスト

ここにメンバリストが並びます。名前をテキスト文字ではなく、アイコン画像に変更することも可能です。

プロジェクトごとのチャットルーム

ここでは、前述の「チャット」によるコミュニケーションの効率化が目的で、各プロジェクトのやりとりを全員が閲覧可能です

トラスティアの開発現場では各プロジェクトの他に、

  • All(全員向け)
  • Tech(技術系の話題)
  • FreeTalk(なんでもあり)

の部屋も常設されており、プロジェクト以外の話題も気軽に行えるようにしています。

また、メンバによるチャットの他、外部連携をさせることで以下のような通知を表示させることもできます。

GitBucketからのソースコードのpush通知

   誰がいつどのようにソースを変更したかが瞬時に全員に伝わる

Jenkinsからの自動ビルド結果の通知

   GitBucketにソースをpushすると、Jenkinsへ通知が行き、Jenkinsによるビルドが開始され、ビルド結果をDevHubに通知する

GitBucketにpushすると自動ビルド結果がJenkins経由でDevHubのチャットに流れてくるので、自分のpushが他のコードに悪影響を与えていないか瞬時に知ることができ、共有サーバにアップされたビルド後の全モジュールを取得することができます。

Jenkinsからのリマインダ通知

   定期発言やお知らせなどを自動的に流してくれる

共有メモ

ここは、前述の「共有メモ」による情報共有の高速化「ブログ」によるナレッジの蓄積が目的です。

上の赤枠が、メンバそれぞれのメモを表示させるためのボタンで、誰でも覗けます。

メモの内容は、下の赤枠に表示され、メモの内容を任意で「ブログ」へ移動させることが可能。ナレッジの蓄積ができます。

メモの内容は書いてる傍からリアルタイムで全ユーザと同期するので、瞬時に情報が共有されます。

共有メモの具体例

トラスティアの開発現場では、共有メモで以下のような内容が情報共有されています。

  • プロジェクト全体のお知らせ
  • 個人のタスク作業メモ、進捗状況、備忘録
  • 技術情報(Gitの使い方など)
  • お昼のオススメランチ店 など

「プロジェクトごとのチャットルーム」と「共有メモ」共通

DevHubはプログラマー向けツールなので、チャットやメモに、画面キャプチャやソースコード片を容易に共有できるようになっています。

画面キャプチャを貼り付け

チャットルーム(左の赤枠)、共有メモ(右の赤枠)に画面キャプチャを貼り付けたところ。

チャットルームでは上部の入力欄、共有メモではEditボタンを押すと入力欄が表示されるので、そこに貼り付けたい画像をドラックアンドドロップでぶつけるだけで自動でアップロードされ、サムネイルが表示されます。

サムネイルをクリックすると、下図のように、オリジナルの大きさでアップロードした画像が表示されます。

ソースコードを貼り付け

前述の画面キャプチャ同様にソースコードも簡単に貼り付けられます。

ソースコードの上下に以下のように記述すると、ソースコードに自動で色付けできます。

```code
(ソースコード)
```

まとめ

最後にDevHubを利用中の社員から使用感を聞いてみました。

S.H
DevHubは、ページ遷移が無いのも快適ですよね。
毎日、チャットも活発です。

本記事では、トラスティア社員が開発した、エンジニアの為のシステム開発支援コミュニケーションツール「DevHub」をご紹介しました。

ぜひ利用してみてください。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です