私は私たちの主要な開発言語がJavaであるソフトウェア会社で働いています。当然、私たちはHudsonを連続ビルドに使用しています。これはうまく動作します。しかし、ハドソンは私たちがそれを求めている他のもののいくつかをあまり良くしていません。また、Hudsonジョブを使用してバイナリをデプロイしたり、データベースをリフレッシュしたり、負荷テストを実行したり、回帰などを実行したりします。ビルドの依存関係がある場合(つまり、負荷テストにDBリフレッシュが必要な場合)ハドソンの代替ビルドマネージャー
ビルド依存性:
はここハドソンは、私たちが本当に必要なことを行っていない一つのことだそれはではなく、ハドソンの仕事のために、Antのビルドの依存関係を構築サポートしています。私たちはURL呼び出し機能を使用して、Hudsonジョブが別のHudsonジョブを呼び出させるようにしています。問題は、ハドソンが常に200を返し、仕事が完了するまでブロックしないということです。これは、呼び出し元のジョブがa)ビルドに失敗した場合、b)失敗しなかった場合、どれくらいの時間がかかったかを認識していないことを意味します。
シェルスクリプトを使用してビルドの動作を指定する必要はありませんが、それは完全には必要ではありません。
いずれの方向もいいと思います。おそらく、Hudsonを正しい方法で使用しているわけではありません(つまり、すべてのビルドをAntビルドにする必要があります)か、ワンクリックでの展開、負荷テスト、移行、DBリフレッシュなどのために別の製品が必要なのかもしれません。
編集:
明確にするために、私たちのビルドにはパラメータによって依存関係が異なる可能性があります。私。場合によってはDBリフレッシュなしでロード・テストを行うことがあります。残念ながら、パラメータの組み合わせごとに(Joinプラグインが必要とするような)Hudsonジョブを作成すると、異なる組み合わせが数十のジョブにつながることがあるため動作しません。
「依存関係を構築する」という意味を説明できますか? Hudsonプロジェクトを構成して別のHudsonビルドを起動するのは簡単です。より自動化されたものが必要ですか? –
ハドソンはそれが得られるほど良好ですが、代替案は有能ではありません。それにこだわります。 – skaffman
ハドソンに何をしたいのかが問題になっている場合は、セットアップと実行しようとしていることを再検討することができます(つまり、負荷テスト環境と他のビルド) –