HudsonのSubversion Tagging Plugin
ビルド管理ツールHudsonのSubversion Tagging Pluginがとても使いやすいのでメモ。
CVSにも同様のプラグインがある。
【元ネタ】
Subversion Tagging Plugin - hudson - Hudson Wiki
CVS Tagging Plugin - hudson - Hudson Wiki
HudsonのSubversion Tagging Pluginの使い方は下記を想定している。
SVNでタグ付け
例:yyyyMMdd+連番3桁
↓
Hudsonで、指定したSVNタグをチェックアウトして、ビルドモジュールを作成
↓
リリース後、RedmineのバージョンをSVNタグでリネームする。
又は、TracのマイルストーンをSVNタグでリネームして、完了ステータスへ更新する。
又は、Mantisの修正予定・修正済みバージョンをSVNタグでリネームして、バージョンのリリースのチェックを付けてCloseする。
つまり、SVNタグでリリース用モジュールのスナップショットを取った直後に、そのタグをHudson上で指定して、タグのソースをチェックアウトしてビルドモジュールを作る。
この方法の利点は、タグ付けされたSVNリビジョンからビルドモジュールが作られるので、SVNタグがベースラインになる。まさにSVNタグがリリース予定(リリース済)バージョンと同一視できる。
更に、HudsonでリリースされたモジュールをRedmine・Trac・Mantisのバージョン(マイルストーン)に紐づければ、イテレーションとリリース予定バージョンを対応付けることができる。
これによって、XPの小規模リリースを実現できる。
更に、下記で説明されている「ファイル指紋」を使えば、より厳格にリリース管理できる。
Hudsonを使ったアジャイルな開発入門:第3回 Hudsonによるチーム間の連携|gihyo.jp … 技術評論社
ファイル指紋は、ビルドモジュールを一意に識別する文字列。
要はファイルのMD5(ハッシュ)と同じ。
ビルドモジュールをコピーして他のサーバーへアップする時に、ファイル転送が失敗したり、誤った操作で別ファイルをコピーしたりしてしまう時もあるだろう。
そんな時に、リリース用モジュールのファイル指紋と同じかどうかチェックするようにすれば、リリース作業漏れもなくなる。
上記の記事のように、下流ビルドのプロジェクトとして、作ればいいだろう。
SW開発では最近になっても、リリース管理が手作業の部分がとても多い。
単に継続的インテグレーションするだけでなく、ビルドモジュールのリリース作業そのものも自動化して、ミスがおきないような環境にすべきだ。
RedmineやTracの情報はネットに溢れているのにHudsonの情報があまりないが、Hudsonはたくさんのプラグインで機能も豊富なので、もっと研究されるべき対象だと思う。
| 固定リンク
« 【公開】AgileTourOsaka2010講演資料 "Why Ticket Driven Development is Agile? : No Ticket, No Commit!" #agileto2010 #tidd | トップページ | フォールト・アボイダンスからフェイルセーフ、フォールト・トレランスへ »
「Redmine」カテゴリの記事
- 「RedmineのUbuntu+Docker構築への移行」の感想 #redmineT(2024.11.24)
- 第27回redmine.tokyo勉強会の感想 #redmineT(2024.11.10)
- Redmineのバージョン設定でプロジェクトの設定方法が違う(2024.06.23)
- ウクライナのRedmine開発者が作ったRedmineテーマやプラグイン(2024.06.18)
- 第26回redmine.tokyo勉強会の感想~多様性はコミュニティが成功する重要な要因の一つ #redmineT(2024.06.15)
「ソフトウェア工学」カテゴリの記事
- アーキテクチャ設計はベストプラクティスを参照するプロセスに過ぎないのか?~Software Processes are Software, Too(ソフトウェアプロセスもまたソフトウェアである)(2024.09.22)
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- マイクロサービス設計は従来のアーキテクチャ設計と何が違うのか(2024.01.02)
「構成管理・Git」カテゴリの記事
- 「GitLabに学ぶ 世界最先端のリモート組織のつくりかた」の感想(2023.12.10)
- パッケージ設計の原則の意義は変化しているのか(2023.09.30)
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 【資料公開】チケット駆動開発の解説~タスク管理からプロセス改善へ #redmine(2022.01.14)
- プログラミングしてる時はでっかいピタゴラ装置を作ってるみたいな感じ(2022.01.09)
「Agile」カテゴリの記事
- 「世界一流エンジニアの思考法」の感想(2024.12.08)
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「スクラムの拡張による組織づくり」のScrum@Scaleの感想(2024.03.31)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- 「GitLabに学ぶ 世界最先端のリモート組織のつくりかた」の感想(2023.12.10)
コメント