Hudson ・ 10 の特徴 Cannot resolve external resource into attachment. Kohsuke (またの名を Mr. Hudson) と私とで、 The Server Side Java シンポジウム, Las Vegas Mar. 2008 に出席してきました。 Kohsuke とは毎日語り明かしたのですが、ある晩、彼の助けを借りて Hudson の 10 の特徴をまとめてみようと思いつきました。 (※訳者注: Kohsuke とは 川口耕介さんのことで、彼が公開している日本語のブログはこちら でお読みいただけます) 実は私、その時に書いたメモを一度失くしてしまったのですが、ラッキーなことにそれがまた出てきました。というわけで、ここで改めて紹介します。若干ネタは古くなってしまいましたが、内容の大半はまだまだ十分に役立つはずです。ただ、その後いくつかの新機能は追加されています。 では、始まり始まり ...
- Hudson は 一個の WAR ファイル としてダウンロードすることができ、 "java -jar hudson.war" というコマンドを実行するだけで起動することができます。特別な設定もコンテナも不要です。あるいは、 このリンクをクリックして起動することも可能です(訳者注:Java Web Start経由でアプリケーションがダウンロードされます)。継続的インテグレーション (CI) サーバやクライアントの起動を必要としない単一の Web アプリは、これまでも重視されてきました。"java -jar hudson.war" で起動した場合、デフォルトのページは以下のようになります。
Cannot resolve external resource into attachment.
インストールと使用方法の簡便性については、 Hudson のドキュメント にて詳しく解説されています。
- 2. 非常に拡張性の高い プラグイン の仕組み - チーム内で使用するツールやプロセスをサポートするためのプラグインを、とても簡単に作成できます。そしてあなたの作ったプラグインを、別のメンバーがこれまた手軽に利用することが可能です。
- アップデート・センター - プラグインの検索とインストールについてはこちら
- ソースコードコントロール・プラグイン: Visual Source Safe , Git, Perforce およびその他もろもろ
- ほとんどのプラグインは小規模で、ちょっとした空き時間に作成できます。
- プラグインテンプレートを生成するための Maven サポート。プラグインの開発について、詳しくは Extend Hudson をご覧ください。
- 3. 分散ビルドサポート - Hudson の分散ビルドサポート機能を使えば、マスター/スレーブ構成のうちの使われていないマシンを利用して、大量のビルドを行えるようになります。Hudson はクロック同期やディスクスペースの監視、あるいはスレーブの接続が切断された場合の再起動といった手間のかかる仕事を請け負い、スレーブの " 子守 " をしてくれます。
- 4. チーム開発のサポート - 複数のチームで協業しつつ開発を進めていくためには、下流プロジェクトの自動ビルドを行える体制を整える必要があります。上流 / 下流に枝分かれしたプロジェクトは容易に混乱を招きます。このようなプロジェクトを管理するためには、どのバージョンのどれがどのバージョンの何に使われていたのか、といったことを正しく追跡する必要があるでしょう。
Hudson では Finger print という仕組みを使ってこうした管理を簡潔に行えるようになっています。
- 5. オープンソース - Hudson は MIT ライセンスのもと、完全にオープンソース化されています。
- 6. 高い完成度 - 6/17に 226 回目のリリースが公開されましたが、これまでにデータ互換性が損なわれたことは一度もありません。旧バージョンから新バージョンへの移行はシームレスに行えます。基本的には WAR を再配備するだけで OK 。追加の設定ファイルなどは不要です。
- 7. 豊富な Hudson 拡張ツール - Hudson はプログラマブルなインタフェースを備えているため、外部拡張ツールの作成が可能です。以下、いくつかの例を示します:
- Hudson Tracker & Tray Application - タスクトレイに常駐し、 Hudson のビルド状況などをモニタできる簡易アプリ
- Trac プラグイン - Hudson から Trac のインスタンスへのリンクを生成
- Firefox ビルドモニタ・プラグイン - Firefox のステータスバーのパネル上に、ビルドステータスを示す Hudson のアイコンを表示。
- 8. パーマリンクをサポート - Hudson は可読性に優れた URL を提供します。 "last successful build" や "promoted build" などのページに表示されている URL は、 Hudson 以外のどこからでも簡単に参照できます。
- 9. ローカライゼーション - Hudson は英語、日本語、ドイツ語、フランス語、トルコ語、ブラジル語、ポルトガル語、ロシア語にローカライズされています。また、この説明に従えば、独自のローカライズバージョンを簡単に作成できます。既存のコードを国際化するための IntelliJ プラグインもあります。
- 10. 構成要素 - Hudson は、別のプロジェクトでも使用できる、汎用性の高い構成要素からできています。
- Stapler -
- ドメインオブジェクトの URL バインディング
- JSON & XML の生成
- リモート機能のほとんどは Stapler に実装されています。 Stapler は POJO を XML に変換します。
- Stapler 用の IntelliJ プラグイン
- View 層は着脱可能 - Hudson では Jelly が使われています。
- リモートアクセス API
- ローカライザ - IDE 用の i18n プラグインのロケール選択を手助けする、軽量なランタイムライブラリ
Cannot resolve external resource into attachment. さぁ、これでもまだ他の CI ツールを使いたいと思いますか? 今すぐ Hudson をダウンロード!
日本語翻訳: Kana. Kotake 原文
|