« マイクロサービス~疎結合なアーキテクチャが時代に合っている | トップページ | RDRAセミナーが1/24(土)に開催されます »

2014/12/30

Redmineとシステム連携できるOSSのツール一覧

Redmineとシステム連携できるOSSのツール一覧についてメモ。

【1】Redmineと他のOSSツールをシステム連携するメリット

Redmineは高機能なチケット管理ツールなので、タスク管理、課題管理、障害管理など、一通りのプロジェクト管理が可能だ。
また、ソフトウェア開発だけでなく、インフラ保守、ヘルプデスク管理、ITILのようなITサービス管理、PC資産管理にも適用できる。
しかも、利用シーンとして、IT業界だけでなく、製造業やデザイナーのタスク管理、営業支援などにも適用できるから、幅広く使える。

しかし、Redmine単体だけでなく、他のOSSツールと連携できると更にメリットが増す時がある。
例えば、RedmineとSVNのような構成管理ツールを使えば、成果物の履歴管理とチケットによる作業の履歴管理を密連携できるから、トレーサビリティを実現できる。

構成管理ツールと連携しした事例としては、Excelの設計書の1ページ目にある「変更履歴」は、Redmineのチケットへの相互リンクで代用でき、廃止できることがあるだろう。
Redmineの優れたチケット集計機能や検索機能によって、いくらでも修正理由を検索できるし、関連するチケットの影響度合いも探ることができる。
この運用は「No Ticket, No Commit」につながる。

では、Redmineとシステム連携できるツールや機能としては、構成管理ツール以外に何があるのだろうか?
ちょっと探してみた。

【2】構成管理

一つは、Subversion、Gitなどのソース管理ツールと連携すること。
Redmineは5種類くらいの構成管理ツールと連携できるから、かなり使い勝手が良い。

もう一つは、Gitリポジトリ管理ツールであるGitLab、GitHubなどと連携すること。
Redmineで唯一弱い機能であるGit連携機能を、他のGit管理ツールで実現する。
例えば、ブランチ管理やマージ、プルリクエストなどは、GitLab、GitHubで作業し、チケット管理は使い慣れたRedmineで使い分ける、など。

RedmineとGitLabを連携すると、RedmineをGitHub化できるか: プログラマの思索

RedmineとGitを巡る疑問点~Gitとの連携機能の強化がRedmineの課題: プログラマの思索

【3】ビルド管理ツール

JenkinsとRedmineの連携は、Hudsonプラグインで実現されている。
Jenkins側でも、ITSとの連携は簡単。

Hudson - r-labs

JenkinsとRedmineを相互に連携させてみる | メモ帳代わりのブログ

codefirst::blog ? codefirst を支える開発環境 09: Jenkins-Redmine 連携

JenkinsとRedmineを連携できると、ビルドモジュールとソースのリビジョン、チケットの間での相互リンクだけでなく、色んな利用シーンがあると思う。
ビルドエラー通知メールからRedmineチケット登録、Jenkinsでマージ後のビルドOkならチケットを完了ステータスへ自動でチケット更新、などいろんな手法が考えられる。

Jenkinsビルド後の処理でRedmineにチケット登録ができるプラグインを作った話 - Qiita

JenkinsからRedmineのチケットをクローズとかするPluginつくったった - うさぎ組

アーキテクチャとしては、Redmineの「メールによるチケット自動登録」「REST APIによるチケット更新」を使うだけなのだが、Redmineの外部接続APIが豊富なおかげで、利用シーンを明確にして仕様を提示できれば実現可能だと思う。

プロジェクト管理サーバーとは: プログラマの思索

アジャイル開発の弱点をプロジェクト管理サーバーが助ける: プログラマの思索

【4】テスト管理ツール

OSSのテスト管理ツールと言えば、TestLinkがある。
最新版のTestLinkなら、下記のような設定で使えるようになる。

TestlinkとRedmine連携で、RedmineチケットにTestlinkへのリンク挿入 | テックラボ 来夢多゛

「Redmineによるタスクマネジメント実践技法」に書いたけれど、障害管理とテスト管理を連携できると、結合テストやシステムテストの工程で大きな威力を発揮する。
テスト管理は、ソフトウェアのプロジェクト管理の中で最も難しいものの一つと思う。
実際に使いこなしてみれば、「ブロック」「みなしバグ」「みなしOK」などのテストの概念が分かってくると思う。

TiDDを実践して気づいたことpart4~TestLinkによるテスト戦略: プログラマの思索

【公開】ETWest2009講演資料「TestLinkでアジャイルにテストする」: プログラマの思索

【5】文書管理

Alfrescoと連携できるみたい。
但し、Redmine2.4ではエラーが出る、と下記に書かれている。

Cmis for Redmine 2.x - Plugins - Redmine

既に、RedmineとAlfrescoを連携した事例もあるみたいで、詳細が知りたい。
成果物の構成管理だけでなく、Web上の文書管理とチケットを連携する場合、何がメリットになるのか?

「Redmine(課題管理)とAlfresco(文書管理)の連携で、プロジェクトマネジメントを改善することができました」 | Alfresco | oss-comcre

【6】その他に考えられるツール群

個人的に欲しいと思う機能は、ITILに関連したツール群との連携だ。
特に、サーバー監視ツールとRedmineを連携することによって、インフラ保守のインシデント管理をRedmineのチケット管理で強化することだ。

既にそのアイデアは色々公開されているみたい。
OSSのサーバー監視ツールZabbixで障害通知メールを発行したら、そのメールを起点としてRedmineチケットを自動登録する機能も考えられる。

Zabbixコラボ企画「第2弾 Redmineと連携しよう!!~Part1~」|zabbix|クラウド関連技術ブログ|クラウドデザインのFL.OPS

また、JobSchedulerというOSSのジョブ管理ツールとRedmineを連携することで、バッチジョブの障害をRedmineチケットに自動登録する機能も考えられる。

OSS「JobScheduler」で実現するこれからの運用自動化(1):JobSchedulerの機能と設定~基礎編 (1/2) - @IT

JobSchedulerの下記資料の28ページには、Redmine・JobScheduler・Git/SVNと連携して、継続的デリバリーを自動化するアイデアが公開されている。

色々考えてみたい。

|

« マイクロサービス~疎結合なアーキテクチャが時代に合っている | トップページ | RDRAセミナーが1/24(土)に開催されます »

Redmine」カテゴリの記事

ソフトウェア工学」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« マイクロサービス~疎結合なアーキテクチャが時代に合っている | トップページ | RDRAセミナーが1/24(土)に開催されます »