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には大きな可能性が秘められていると思う。
| 固定リンク
「ソフトウェア」カテゴリの記事
- Javaのモジュールシステムの考え方をまとめてみた(2022.10.21)
- Javaのenum型はシングルトンクラスみたいだ(2022.06.20)
- テスラが従来の自動車メーカーと異なるところは工場までソフトウェア化すること(2022.02.09)
- 「RubyやRailsは終わった」という記事のリンク(2022.01.09)
- 実践した後に勉強するのがエンジニアの本来の道(2022.01.09)
「ソフトウェア工学」カテゴリの記事
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- マイクロサービス設計は従来のアーキテクチャ設計と何が違うのか(2024.01.02)
- 「ソフトウェアアーキテクチャ・ハードパーツ」の情報リンク~マイクロサービスの設計技法の課題は何なのか(2023.11.12)
「Agile」カテゴリの記事
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「スクラムの拡張による組織づくり」のScrum@Scaleの感想(2024.03.31)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- 「GitLabに学ぶ 世界最先端のリモート組織のつくりかた」の感想(2023.12.10)
- 概念モデリングや設計原則は進化しているのか(2023.10.21)
コメント