私はhudsonビルドシステムにかなり慣れていません。私は現在、ビルドを perl/cgi スクリプトの組み合わせから実行し、ブラウザーから開始する機能を備えています。私が必要としているのは、hudson で perforce からファイルをチェックアウトし (それを行うことができます)、そのファイルを解析し (このためのスクリプトを作成できます)、解析の結果に基づいて、ユーザーがさまざまなオプションを選択できるようにする機能です。何を構築(コンパイル)するか。これは可能ですか?これを行うためにいくつかの異なるプロジェクトを結び付ける必要があるかどうかわかりませんか? これに関するアイデアは非常に役に立ちます。
3 に答える
Hudson は継続的インテグレーション (CI) サーバーです。すべての CI サーバーには共通点があり、ビルド プロセスを自動化するのに役立つため、ユーザーの操作は必要ありません。ビルドに加えて、ユニット テスト、機能テスト、コード分析、ソリューションのパッケージ化などを追加できます。つまり、CI の概念は、現在のニーズや期待に応えられないことは明らかです (少なくとも、CI をそのように使用するつもりがある場合)。使用することを目的としていました)。
あなたの場合、ビルド プロセスを批判的に見て、プロセスの設計を完全に自動化できるかどうかを判断します。時間がかかっても、CI ソリューションですべてを構築することはまったく問題ありません。この方法では、ユーザーの操作は必要なく、コンポーネントが壊れた場合 (CI の実際の目的) にすぐに対応できます。多くのHudson プラグインをすべて調べてください。ビルド パラメーターが実際に変更される頻度によっては、マトリックス ビルドとビルド パラメーターのすべての可能な (かつ有効な) 組み合わせを 1 つのジョブで実行できる場合があります。ジョブがトリガーされる前に、可能なオプションをジョブに認識させる必要があることは言うまでもありません。
やりたいことに対する (多くの) 可能な回避策の 1 つは、2 つのジョブを持つことです。最初のジョブは、フォースごとにファイルをチェックアウトし、可能なオプションを使用して HTML ページを作成し、アーティファクトとして保存します。HTML ページでは、オプションを選択し、Hudson での 2 番目のジョブの要求時にトリガーできます。選択されたオプションは、1 つ (または複数) のパラメーターとして 2 番目のジョブに渡されます。渡されたオプションに応じてプロジェクトをビルドします。リモート APIを使用して 2 番目のジョブ構成を変更することもできます、この場合、使用可能なオプションは、2 番目のジョブで選択パラメーターとして設定されます。2 番目のジョブを手動でトリガーする場合は、選択したパラメーターを設定するだけで準備完了です。これは醜い回避策であり、お勧めしません。
いいえ、仕方がありません。Hudson は、ユーザーの操作なしで実行できるように設計されています。重要なのは、スケジュールに従って実行するジョブ、またはコードがチェックインされるたびに実行するジョブを設定することです。
ユーザーの操作を要求する代わりに、最も一般的なタスク用に個別のジョブを作成します。そうすれば、彼らは自分のニーズに合った仕事をクリックすることができます.
Hudson のパラメーター化されたビルドを使用できます。ビルドがパラメーター化されていることを選択し、パラメーターを追加できるようにするためのチェックボックスが必要です。
もちろん、ビルド自体からパラメーターのリストを取得することはできません。これは将来を調べることができないためです。ただし、事前にパラメーターが何であるかがわかっている場合は、Hudson からパラメーターに渡すことができます。適切なポイントでスクリプトを実行します。
http://wiki.hudson-ci.org/display/HUDSON/Parameterized+Build