Hudsonで並列分散処理
Hudsonが並列分散処理の基盤を持つ可能性があると示唆した記事をメモ。
【元ネタ1】
川口耕介さんを囲む会でHadoopプラグインについて質問してきました - n-3104の日記
(前略)
Hudsonが並列分散処理基盤として可能性を秘めていることを知れて興奮しました。
(中略)
* 並列して負荷テストとかするというのは便利そうだと思いました。
* Androidの実機を複数台まとめてテストできるというのもすごいと思いました!
Cloud computing competition by Hapyrus
HudsonのHadoopプラグインがあるのは知っているけれど、どう使えばいいか、正直分かってない。
だが上記の記事によれば、携帯の実機を複数台まとめて並列テストとか、負荷テストを並列で実施するやり方も可能らしい。
僕がHudsonで実現したいと思う機能は、JUnitのビルドを並行実行させて、ビルド時間を短縮させることだ。
XPが提唱したテスト駆動開発のアイデアは素晴らしいけれど、システムが複雑化するほどJUnitのプログラム本数は増えて、一晩かかってもビルドできないくらいになる。
あるいは、複数のコンポーネント(jar, dll)をビルドしないとシステム(war, exe)が作れずにテストできない状況にある場合、複数のコンポーネントを直列でビルドするとビルド時間が倍以上かかってしまう時もある。
そうなると、継続的インテグレーションの利点が薄れてしまう。
だから、Hudsonでビルド作業を並列化して、ビルド時間を劇的に短縮させたい。
【元ネタ2】
仮想環境で本番環境と同等の環境を作るHudson と Vagrant - maeshimaの日記
開発環境と本番環境の環境が違って、開発環境だとうまくいくけど本番環境だとエラーみたいなことがよくある
→仮想環境 & 自動化で解決!みたいな話。
(中略)
エントリ中では、ruby で Hudson を使うための hudson.rb を使ってCLIで操作してた。
(中略)
大まかな流れ
1. VirtualBox を入れる
2. vagrant(VitrualBox用の仮想環境を作るのを自動化するツール)で仮想環境を作る
3. puppet でDBやWebサーバ等を入れる
4. Hudson で Railsアプリを作ってテスト
Hudsonで並列ビルドできたら、ビルド環境そのものも仮想化して、開発環境も本番環境も同等な環境でビルドするようにしたい。
いくら開発環境で開発がスムーズにいったとしても、本番環境が開発環境と大きく変わっていると、本番リリース作業にかなりの労力を取られてしまう。
最近はサーバーもメモリもHDDも安いし性能も良くなっているので、環境を仮想化して、いつでもどこでも同じ環境で開発できるようにした方がいい。
更にHudsonを使って、環境構築作業まで自動化してしまえばいい。
Hudsonには大きな可能性が秘められていると思う。
| 固定リンク
「ソフトウェア」カテゴリの記事
- 「RedmineのUbuntu+Docker構築への移行」の感想 #redmineT(2024.11.24)
- Javaのモジュールシステムの考え方をまとめてみた(2022.10.21)
- Javaのenum型はシングルトンクラスみたいだ(2022.06.20)
- テスラが従来の自動車メーカーと異なるところは工場までソフトウェア化すること(2022.02.09)
- 「RubyやRailsは終わった」という記事のリンク(2022.01.09)
「ソフトウェア工学」カテゴリの記事
- Jiraの機能はTracに似ている気がする #redmine(2025.06.01)
- チームトポロジーの感想~大規模アジャイル開発でも組織構造は大きく変化する(2025.01.01)
- Redmineは組織のナレッジ基盤として実現可能なのか~島津製作所の事例を読み解く #redmineT(2024.12.29)
- アーキテクチャ設計はベストプラクティスを参照するプロセスに過ぎないのか?~Software Processes are Software, Too(ソフトウェアプロセスもまたソフトウェアである)(2024.09.22)
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
「Agile」カテゴリの記事
- Jiraの機能はTracに似ている気がする #redmine(2025.06.01)
- チームトポロジーにおける4チームのインタラクションをUMLで整理してみた(2025.01.12)
- チームトポロジーの感想~大規模アジャイル開発でも組織構造は大きく変化する(2025.01.01)
- 「世界一流エンジニアの思考法」の感想(2024.12.08)
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
コメント