Redmine・HudsonとSCMの機能の関連表 #itsjp #tidd
Redmine・HudsonとSCMの機能の関連表 をチケット管理システムWikiに追加した。
【元ネタ】
チケット管理システムWiki
RedmineとSCMの機能の関連表~BTSとSW構成管理の密接な関係 #itsjp #tidd: プログラマの思索
特集:Hudsonを使ったアジャイルな開発入門|gihyo.jp … 技術評論社
言いたかったことは、RedmineがSCM(構成管理)と密接に関係するだけでなく、ビルド管理ツールHudsonの機能とも対応していることだ。
つまり、下記の機能がそれぞれ対応する。
【1】SCMコードライン⇔Redmineプロジェクト⇔Hudsonジョブ
バージョン管理(Subversion、CVS、Git etc.)のリポジトリにあるtrunkやbranch単位で、ビルドモジュール(コンポーネント)が作られる。
Hudsonがビルドする作業の単位はジョブになる。
ビルドモジュールが複数個のコンポーネントを統合してビルドされる場合、下流ジョブにコンポーネント、上流ジョブにビルドモジュールというジョブの依存関係を設定する。
Hudsonを使ったアジャイルな開発入門:第3回 Hudsonによるチーム間の連携~上流・下流ビルド|gihyo.jp … 技術評論社
上流・下流ビルド(ジョブ)とは、依存関係のある複数のジョブでつけるHudsonの機能。
普通は、jarのような最小のコンポーネントを下流ジョブとして先にビルドした後に、warのように最後にビルドするモジュールを下流ジョブとしてビルドする。
つまり、ビルドの実行順序を上流・下流ビルド(ジョブ)で関係付ける。
Hudsonが無かった頃は、Antなどで手作業でビルドしていたから、ビルドの実行順序を間違うとすぐにコンパイルエラーになってしまう。
Hudsonがあるおかげで、複雑なビルドもGUI上で設定できて、かなり楽になった。
更に、ビルドモジュールを本番環境へリリースする場合、ビルドモジュールが本当に本番モジュールであるのか、を検証したいなら、ファイル指紋を使えばいい。
ファイル指紋はバイナリファイルのハッシュ(MD5)であり、ファイル指紋を比較することでより厳格にリリース管理を運用することも可能。
Hudsonを使ったアジャイルな開発入門:第3回 Hudsonによるチーム間の連携~ファイル指紋を記録|gihyo.jp … 技術評論社
【2】SCMタグ⇔Redmineバージョン⇔Hudsonビルド番号
Subversion(CVS) tagging pluginを使うと、SVN(CVS)タグからチェックアウトされたソースからビルドされる。
SVNタグをリリース予定バージョンとして厳格に扱う場合に有効。
HudsonのSubversion Tagging Plugin: プログラマの思索
イテレーションに紐づく全てのタスクが100%で終了したら、いつでもリリースできる。
SVN(CVS)タグはリリース予定バージョンであり、Agile開発ではイテレーションに相当する。
【3】SCMリビジョン⇔Redmineチケット⇔Hudsonビルドログ
SVNリビジョンに書かれたコミットログは、Hudsonのビルドログ(コンソールログ)に出力される。
HudsonのRedmine(Trac, Mantis etc) pluginを使えば、Hudsonのビルドログから各BTSチケットへ遷移できる。
又、RedmineのHudson pluginを使うと、RedmineチケットのSVNリビジョンの履歴に「SUCCESS」「FAILURE」などのビルド結果が追記されるので、どのビルド番号にどのリビジョンが反映されているのか、が一目で分かる。
r-rabsのRedmine Hudson Pluginがすばらしい件
Redmine - Hudson Plugin 0.1.0 - Redmine
つまり、ビルドモジュール→SVNリビジョン→チケット←仕様(要件) or ビルドモジュール→BTSバージョン(SVNタグ)→終了チケット というトレーサビリティを実現できる。
Redmineプロジェクトとビルドモジュールを対応づける理由の一つは、ビルドモジュールのリリース計画や変更履歴がRedmineプロジェクトのロードマップや変更履歴に対応するようにしたいからだ。
そうすれば、Redmineの各プロジェクトのロードマップを見るだけで、コンポーネントがいつどんな修正を反映してリリースされるのか、をすぐに一覧できる。
ソフトウェア開発のリリース管理では「いつ何をリリースするのか」「今のモジュールにどんな修正が反映されているのか」という2点がいつも重要になる。
しかしながら、リリース作業をきちんと記録して、厳格なワークフロー管理をしていないチームでは、デグレやリリース作業ミスが多発しがちで、開発メンバーのモチベーションを落としてしまう。
デグレやリリースミスほど、ソフトウェア開発で嫌なものは無い。
チケット駆動開発は、「いつ何をリリースするのか」はロードマップというリリース計画、「今のモジュールにどんな修正が反映されているのか」は変更履歴という過去のリリース履歴という機能に置き換える。
この2つの機能は、とても重要な意味を持っていると感じている。
| 固定リンク
「プロジェクトマネジメント」カテゴリの記事
- リプレースとアーキテクチャモダナイゼーシヨンの違いの本質は何なのか?(2026.04.08)
- PMPとCSM取得者数推移(日本 vs 中国)から読み取れる指針は何か?(2026.02.23)
- 製造業のDXを推進する部門をITコーポレート部門に割り当てるとなぜ失敗するのか(2026.02.04)
- SAFeはScrumと全く異なるアジャイル開発プロセスだ(2026.02.01)
- プ譜でプロジェクトの目的を管理する(2026.01.31)
「Redmine」カテゴリの記事
- RedmineとAIが加速させるタスク管理の未来~蓄積されたナレッジを独自のAIとして活用する可能性(2026.04.04)
- Redmine AI HelperプラグインはRedmineをAI駆動プロジェクト管理に変える可能性を秘めている #Redmine(2025.12.31)
- 第29回東京Redmine勉強会の感想~今話題のテーマはJTC運用とAIによるプロマネ作業支援 #redminet(2025.11.09)
- 第22回 Redmine大阪の感想 #RedmineOsaka(2025.09.21)
- RedmineJapan vol.4の感想part1~Redmine AI HeplerプラグインはRedmineのナレッジ活用を強化してくれる #RedmineJapan(2025.07.31)
「ソフトウェア工学」カテゴリの記事
- リプレースとアーキテクチャモダナイゼーシヨンの違いの本質は何なのか?(2026.04.08)
- アーキテクチャモダナイゼーションにおけるAMETチームの役割と責任範囲は何か(2026.03.23)
- アーキテクチャモダナイゼーションとはそもそも何なのか?(2026.03.22)
- 自動車業界におけるA-SPICE・機能安全・サイバーセキュリティの規格に対応したプロセス改善とは何か?(2026.02.15)
- Jiraの機能はTracに似ている気がする #redmine(2025.06.01)
「構成管理・Git」カテゴリの記事
- PLMツールとは部品表の構成管理ツールでありGitHubである(2026.03.08)
- 「GitLabに学ぶ 世界最先端のリモート組織のつくりかた」の感想(2023.12.10)
- パッケージ設計の原則の意義は変化しているのか(2023.09.30)
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 【資料公開】チケット駆動開発の解説~タスク管理からプロセス改善へ #redmine(2022.01.14)
「チケット駆動開発」カテゴリの記事
- 第29回東京Redmine勉強会の感想~今話題のテーマはJTC運用とAIによるプロマネ作業支援 #redminet(2025.11.09)
- RedmineJapan vol.4の感想part1~Redmine AI HeplerプラグインはRedmineのナレッジ活用を強化してくれる #RedmineJapan(2025.07.31)
- Jiraの機能はTracに似ている気がする #redmine(2025.06.01)
- Redmineは組織のナレッジ基盤として実現可能なのか~島津製作所の事例を読み解く #redmineT(2024.12.29)
- 第26回redmine.tokyo勉強会の感想~多様性はコミュニティが成功する重要な要因の一つ #redmineT(2024.06.15)
「Agile」カテゴリの記事
- DX戦略はDX成熟度を考慮して戦略策定すべき(2026.03.20)
- PMPとCSM取得者数推移(日本 vs 中国)から読み取れる指針は何か?(2026.02.23)
- SAFeはScrumと全く異なるアジャイル開発プロセスだ(2026.02.01)
- 第29回東京Redmine勉強会の感想~今話題のテーマはJTC運用とAIによるプロマネ作業支援 #redminet(2025.11.09)
- RedmineJapan vol.4の感想part1~Redmine AI HeplerプラグインはRedmineのナレッジ活用を強化してくれる #RedmineJapan(2025.07.31)


コメント