Hudson CLI and Groovy shell - Kohsuke Kawaguchi's Blog
http://weblogs.java.net/blog/kohsuke/archive/2009/05/hudson_cli_and.html
http://d.hatena.ne.jp/kkawa/20090503/p1
これはさぁ,Hudsonが一介のCIサーバから分散コンピューティングのプラットフォームに化ける第一歩なんじゃね?
...っと勝手に妄想入っちゃったけど,Hudson 1.302からコマンドライン・インターフェイス(CLI)が出来たんですと。Groovy Shellが実装されとるんで,次のコマンドでHudsonに接続してGroovyで操作できるとか。
$ java -jar hudson-cli.jar -s http://yourserver/hudson groovysh Groovy Shell (1.6.0, JVM: 1.6.0_02-fastdebug) Type 'help' or '\h' for help. ------------------------------------------------------------------------------- groovy:000>;
実際に試してみよう思ったけどjava.netが重くて1.302のダウンロードあきらめた。
後日(連休明けとか)再チャレンジする。
(追記)試してみたんだけど,なんかエラーでるね。OSX(Java5)だからかな?一応,レポを残す。
CLIモジュールは,$HUDSON_URLに "cli" を付けた画面から入手する(例えば,http://localhost:8080/cli とか)。
クライアントの実行結果は以下の通り。
$ java -version java version "1.5.0_16" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b06-284) Java HotSpot(TM) Client VM (build 1.5.0_16-133, mixed mode, sharing) $ java -jar hudson-cli.jar -s http://localhost:8080 help Exception in thread "main" java.io.IOException: Premature EOF at sun.net.www.http.ChunkedInputStream.readAheadBlocking(ChunkedInputStream.java:538) at sun.net.www.http.ChunkedInputStream.readAhead(ChunkedInputStream.java:582) at sun.net.www.http.ChunkedInputStream.read(ChunkedInputStream.java:669) at java.io.FilterInputStream.read(FilterInputStream.java:111) at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:2196) at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:2191) at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:2180) at hudson.remoting.Channel.<init>(Channel.java:310) at hudson.remoting.Channel.<init>(Channel.java:251) at hudson.remoting.Channel.<init>(Channel.java:239) at hudson.cli.CLI.main(CLI.java:70)
サーバログはこの通り(Hudsonのバージョンは 1.303)。
$ java -jar hudson.war : 2009/05/04 22:02:29 hudson.TcpSlaveAgentListener <init> 情報: JNLP slave agent listener started on TCP port 51054 2009/05/04 22:03:42 hudson.remoting.Channel$ReaderThread run 致命的: I/O error in channel HTTP full-duplex channel 92e8d61e-4ba3-49a2-b56e-9d0f3b0fd6a2 java.io.StreamCorruptedException at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1332) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at hudson.remoting.Channel$ReaderThread.run(Channel.java:727) 2009/05/04 22:03:42 hudson.model.FullDuplexHttpChannel$1 onDead 情報: Duplex-HTTP session 92e8d61e-4ba3-49a2-b56e-9d0f3b0fd6a2 is terminated