履歴スマートフォン用の表示で見る履歴この広告は、90日以上更新していないブログに表示しています。2011-03-01Hudsonを利用してファイルI/Fを実現したい(5)hudson先週から取り掛かっていたHudsonを利用したファイルI/Fですが、サンプルができあがり、想定通りに動作しましたので、一旦まとめたいと思います。作成したプログラムは、今までのパーツをまとめて簡単なmainメソッドを持つJavaコンソールアプリです。hutil.jarという名前のjarパッケージにしました。送信側や受信側では以下のように起動される想定です。%HU_FILE%※%HU_JOB%、%HU_FILE%には送信側で指定したSourceJOB,zzz.csvがそれぞれ設定されます。前にも載せた図を例に説明します。zzz.csv]を実行するHudsonに定義されているtestジョブが実行される。%HU_FILE%]がNodeBで実行されるNodeAに置いてあるzzz.csvに対して、http://192.168.0.1/hudson/job/SourceJOB/ws/zzz.csvというリクエストが実行されるHttpダウンロードで、zzz.csvがNodeBに落ちてきて、保存されるtestジョブが終了する。終了ステータスがHudson上に記録されるNodeAのコンソールアプリの監視が終了し、結果を返却するそれでは実際のHudsonジョブとして設定されるIFJOBを見てみたいと思います。上の図と同じように、SlaveとしてNodeAとNodeBを用意し、Masterにつないでおきます。NodeAで実行すると定義されたジョブ(Source)のworkspaceに目的のファイルzzz.csvを配置します。NodeBで実行すると定義されたジョブ(IFJOB)のworkspaceにhutil.jarとhutil.propertiesを配置します。hutil.propertiesは以下のような内容のファイルです。hutil.jarが使用します。HUDSON_USER=testuserHUDSON_PASS=passwordHUDSON_ADDR=192.168.0.1HUDSON_PORT=80IFJOBの中身は以下のようになっています。ビルドパラメータを2つ定義しています。[HU_JOBとHU_FILE]起動させるノードをNodeBに限定しています。Windowsバッチコマンドを定義しています。%HU_FILE%]です。コマンドラインから実行してみます。Hudson上でも確認してみます。Hudsonのジョブも成功しています。NodeBのworkspaceを確認してみると、zzz.csvが出来ています。当初の思惑通り、Hudsonの標準機能(マスタースレーブ連携、リモートAPI)を利用すれば単純なファイルI/Fであれば使えるのではないかと思います。これをベースに、文字コード変換やMD5によるファイルチェックなど拡張機能を追加していくのも楽しいと思います。読者になる検索リンクはてなブログブログをはじめる週刊はてなブログはてなブログPro最新記事iMacのトラブルを解決したい勉強会に参加してきて勉強会に参加したいGroovyでテーブルのデータを取得したい(6)Groovyでテーブルのデータを取得したい(5)月別アーカイブはてなブログをはじめよう!sikakuraさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。