問題タブ [hudson]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
5049 参照

java - Hudson または別の CI ツールで Ant を使用して Eclipse プロジェクトを自動的にチェックアウトしてコンパイルする最良の方法は?

多くの共有コードを持ち、いくつかのバージョンを維持する必要がある製品がいくつかあります。

これを処理するために、多くの Eclipse プロジェクトを使用します。一部にはライブラリ jar が含まれており、一部には共有ソース コードが含まれています (いくつかのプロジェクトでは、多数の依存関係を持つ巨大なヒープを取得することを回避しながら、すべてをゼロからコンパイルして、ソースとバイナリが確実に実行されるようにします)。一貫性のある)。これらはすべてのプロジェクトを CVS から直接引き出して、完全に準備されたワークスペースを残すことができるため、projectSet.psf でそれらを管理します。Ant ビルドを直接行ったり、maven を使用したりすることはありません。

これらすべてのプロジェクトとそのさまざまなバージョンを継続的インテグレーション ツールに配置できるようにしたいと考えています。私は Hudson が好きですが、これは単なる好みの問題です。つまり、プロジェクトを自動的にチェックアウトして、新しいワークスペースを作成し、各プロジェクトのプロジェクト ファイルで説明されているようにソース フォルダーをコンパイルします。ハドソンはプロジェクトを構築するためのそのようなアプローチを提供していないので、私はこれにアプローチする最善の方法は何かを考えてきました。

アイデアは

  • projectSet.psf を理解し、cvs-checkout およびコンパイル タグにマップする ant プラグイン/コンバーターを検索または記述します。
  • Eclipse 内から build.xml ファイルを作成し、それらを使用します。これを試してみたところ、結果が冗長で絶対的な場所であることがわかりました。これは、ファイルを必要な場所に配置する自動ツールには適していません。
  • projectSet.psf を理解して構成を取得し、それを構築する Hudson プラグインを作成します。
  • 弾丸を噛んで、何かが壊れたときはいつでも CI 構成を手動で作成および更新するだけです-私はこれが好きではありません:)

他の人の経験について聞きたいので、これにどのようにアプローチするかを決めることができます.


編集: 別のオプションは、Eclipse プロジェクトやプロジェクト セットについてよく知っている CI を使用することです。私たちは宗教的ではありません。これは、自分ですべてを行う必要がなく、実行するだけの問題です。クルーズコントロールはおそらくより良いオプションでしょうか? その他?


編集: ant4eclipse には「チーム プロジェクト セット」機能があることがわかりました。 http://ant4eclipse.sourceforge.net/


編集: ant4eclipse および ant-contrib ant 拡張機能を使用して、Eclipse 3.5M6 の Runnable Jar 機能と同様の sjgned 実行可能 jar ファイルとして完全なワークスペースを構築しました。最初の空のワークスペースを作成し、ProjectSet を抽出するために、まだ Eclipse に依存しているので、それが次のハードルになります。


編集: デュアル構成、つまり、ハドソンが CVS (同じタグを持つ必要がある) から ProjectSet.pdf ファイルにリストされているのと同じモジュールのセットを抽出し、それらを隣り合わせに配置することになりました。次に、ant4eclipse は、メイン モジュールに埋め込まれた projectSet.psf ファイルとうまく連携します。警告: Hudson のモジュール リストは手動で更新する必要があります。その後、Hudson が以前よりも多くのプロジェクトがあることを「発見」できるように、手動でワークスペースをクリーンアップする必要があるようです。これで数か月は問題なく動作しましたが、ant ファイル内ですべてを動作させるのは非常に面倒でした。


編集: Hudson の CVS プロジェクトで ant4eclipse と Ctrl-A、プロジェクト パネルの Ctrl-C と Ctrl-V を使用した「チーム プロジェクトの使用」は、私たちが一緒に暮らすのに十分にうまく機能することが判明しました (成熟したプロジェクトの場合、これは変更されることはほとんどありません)。私は ant4eclipse 1.0 のリリースを待っています - http://www.ant4eclipse.org/、現在マイルストーン 2 にあります - 自家製の機能を ant4eclipse のものにどれだけ置き換えることができるかを確認します。

編集: ant4eclipse は M4 の 20100609 の時点であるため、http ://www.ant4eclipse.org/node?page=1 のスケジュールは多少ずれています。


編集: ant4eclipse アプローチを長期間使用した後の私の結論は、ビルド スクリプトが非常に危険になり、維持するのが難しいということです。また、Team ProjectSet 機能 (ant4eclipse がプロジェクトを見つけるために使用する) は、CVS ベースのリポジトリではうまく機能しますが、git に移行した後では機能しません (これはそれ自体が大きなことです)。新しいプロジェクトは、Jenkins で十分にサポートされているため、maven に基づいている可能性が最も高いでしょう。

0 投票する
3 に答える
26477 参照

build-process - プロジェクトのステータスを変更するものだけでなく、すべてのビルドについて電子メールを送信するように Hudson を構成するにはどうすればよいですか?

最近、CI サーバーを古いバージョンの CruiseControl から Hudson に移行しました。CruiseControl に欠けている唯一の機能は、プロジェクトのステータスを変更する通知だけでなく、すべてのビルドのビルド通知を電子メールで受け取る機能です。

成功したすべてのビルドのビルド通知に特に興味があります。

これをやっている人はいますか?それとも、Hudson プラグイン開発を学ぶ時が来ましたか?

0 投票する
2 に答える
4791 参照

hudson - 特定のカテゴリのジョブの 1 つだけが Hudson で一度に実行されるようにするにはどうすればよいですか?

Hudson を使用して、非常に大きな重要な製品のテストを自動化しています。マシンごとに一度に 1 つだけ実行する必要がある Excel テストを除いて、理論的にサポートされる限り多くの同時ビルドをテスト ホストで実行できるようにしたいと考えています。Excel 以外のテストはいくつでも同時に実行できますが、マシンごとに実行できる Excel テストは一度に 1 つまでです。

バックグラウンド:

私のテストのほとんどは、通常の単体テストです。これは、並列で簡単に実行できるようなものです。残念ながら、私の単体テスト計画の実質的で時間のかかる部分は、Excel で実装されたテストで構成されています。

Excel でテストを実装するのはおかしいと思うかもしれませんが、実際には重要な理由があります。ほとんどのユーザーは Excel を介してシステムにアクセスしています。Excel には独自の風変わりなデータ処理方法があるため、私たちの機能が Excel ユーザーに対して機能することを保証する唯一の方法は、文字通りアプリケーション Excel の正規テストを実装することです。

Excel テストのグループを簡単に起動できるテスト ランナー ツールを作成しました。各テストは 1 つの .xls ファイルです。各グループは、Excel ファイルでいっぱいのフォルダーです。エンドツーエンドのテストのために実行する必要がある約 30 のグループがあります。私のツールは、各テストの結果を Hudson が理解できる JUnit スタイルの XML に変換します。テストでは、pywin32com ライブラリを使用して Excel を自動化します。単独で実行すると、信頼性が高くなります。

テストの実行専用のコンピューターのグループがあります。各マシンはクアッドコアであり、理論的には一度にかなり多くのものを実行できます。残念ながら、COM を使用して一度に 1 台のマシンで複数の Excel を安全に制御することはできないことがわかりました。

つまり、COM 経由で Excel と通信しようとする 2 番目のビルドが開始されると、既に実行されているビルドに干渉し、両方のテストが失敗する可能性があります。

マシンが許可する限り他の非 Excel プロセスを実行できますが、Hudson が同時に 1 台のマシンで Excel を必要とする複数のプロセスを起動しようとしないようにする方法を見つける必要があります。

0 投票する
9 に答える
14342 参照

php - phpunit を Hudson CI と統合するにはどうすればよいですか?

phpundercontrol から Hudson への切り替えを検討しています (いくつかの非常に優れた機能があるようです!) が、phpunit ログを表示する方法がわかりません。

Hudson で ant を使用して phpunit を正常に実行しています。 --log-xml は、そのビルドの適切な builds/ フォルダーに phpunit.xml を配置しています。しかし、それをビルドに表示する方法がわからないので、実行されたテストと失敗したテストがある場合はそれを確認できます。

それを理解したら、次はカバレッジ、メトリック、および API を取得します :)

たとえば、「このプロジェクトでは、ビルドごとに「API」へのリンクを表示し、builds/$BUILDNUM/api/index.html へのリンクを表示する」など、HTML で生成するものは何でも簡単なようです。

0 投票する
3 に答える
20957 参照

git - Git と連携するように Hudson をどのようにセットアップしますか?

Hudson を CI サーバーとしてセットアップしようとしていますが、うまく動作しません。「公式」gitプラグインを使用しようとしています。stephenh によって開発された代替プラグインを使用したテストは行っていません。

他の誰かが Hudson を Git と連携させたり、CI サーバーを Git と連携させたりしたのではないかと考えています。もしそうなら、どのように、どのような構成で。

関連情報は、私は Hudson 1.277 を使用しており、Git 1.6.1.1.230.gdfb04 と Git Plugin 0.5 をすべて Windows プラットフォームで使用していることです。

前もって感謝します!

0 投票する
1 に答える
1216 参照

svn - グラフィカルなコード分析

私は SubVersion を Hudson と組み合わせて使用​​しています。単体テスト、ビルド時間、ディスク使用量が時間とともにどのように増加するかを示す機能が気に入っています。私は、コードベースの最初の評価を得るためにコードメトリクスを信じています。これは、新しいクライアントを始めるときに特に役立ちます。次のことができるツールはありますか

1) 日付/タグから開始して、ソースコードのすべてのリビジョンを取得します

2) ビルドする

3) コード分析を実行する

4) テストを実行する

5)詳細な結果を保存する(ある種のSQLデータベースに)

6) リビジョンがなくなるまで繰り返す

7) 結果をまとめて発表する

hudson 自体の要約出力を見ることはできますが、個々のファイルや、それらが時間の経過とともにどのように変化したかについてはわかりません。

0 投票する
3 に答える
3853 参照

build-process - 私のビルドによって作成されたアーティファクトを Hudson が削除するにはどうすればよいですか?

私たちの組織のカスタム ビルド ツールは大量の中間データを書き出すので、Hudson がビルドの一部として作成されたファイルを検出し、それらをアーカイブできるといいのですが。すでにそうしているかどうかはわかりませんが、もしそうなら、ユーザーに見える説明はなく、確かにビルドを削除してもその出力は削除されません。

詳細はこちらが欲しいです。裸のワークスペースから始めるとします。ビルド1の後、私はこれを持っています:

ここで、ビルド 2 を実行します。

ソース コードはws/src各ビルドにチェックアウトされます。カスタム チェックアウト プロセスがあるため、svn RCS メソッドを使用できません :/.

ビルドを削除するとき、そのビルドに由来するものをすべて削除したいと思います。これはできますか?

0 投票する
5 に答える
15318 参照

.net - CI: Hudson と .Net vs CruiseControl.Net

CI サーバーの統合を検討している .net ショップで働いています。私が見た限りでは、ハドソンが最も人気があるようです。私たちが .net のみのショップであることを考えると、ハドソンは CC.NET が提供しないハードルを提示しますか?

0 投票する
8 に答える
58517 参照

java - HudsonとCruiseControlforJavaプロジェクトの違いは何ですか?

タイトルがそれを要約していると思います。SvnからのJavaプロジェクトの継続的インテグレーションビルドにどちらかが優れている理由を知りたいだけです。

0 投票する
9 に答える
40898 参照

c# - C# ビルド マシンをセットアップする方法と理由は?

私は、C# プロジェクトで小規模 (4 人) の開発チームと協力しています。プロジェクトの夜間のビルドとテストを行うビルド マシンをセットアップすることを提案しました。これは良いことだと理解しているからです。問題は、ここには十分な予算がないことです。そのため、その費用を権力者に正当化する必要があります。だから私は知りたい:

  • どのようなツールやライセンスが必要ですか? 現在、Visual Studio と Smart Assembly を使用してビルドし、Perforce をソース管理に使用しています。他に何か必要ですか、それとも自動化されたスクリプトを実行するための cron ジョブに相当するものはありますか?
  • What, exactly, will this get me, other than an indication of a broken build? Should I set up test projects in this solution (sln file) that will be run by these scripts, so I can have particular functions tested? We have, at the moment, two such tests, because we haven't had the time (or frankly, the experience) to make good unit tests.
  • What kind of hardware will I need for this?
  • Once a build has been finished and tested, is it a common practice to put that build up on an ftp site or have some other way for internal access? The idea is that this machine makes the build, and we all go to it, but can make debug builds if we have to.
  • How often should we make this kind of build?
  • スペースはどのように管理されていますか? ナイトリー ビルドを作成する場合、古いビルドをすべて維持する必要がありますか? それとも、約 1 週間後にそれらを破棄し始める必要がありますか?
  • ここに表示されていないものは他にありますか?

    これは非常に大きなトピックであることを認識しており、私はまだ始めたばかりです。ここでこの質問の重複を見つけることができませんでした。入手すべき本がそこにある場合は、お知らせください.

    編集:私はついにそれを働かせました!Hudson は完全に素晴らしいものであり、FxCop は、実装されていると思っていたいくつかの機能が実際には不完全であることを示しています。また、インストーラーの種類を Old-And-Busted vdproj から New Hotness WiX に変更する必要がありました。

    Basically, for those who are paying attention, if you can run your build from the command line, then you can put it into hudson. Making the build run from the command line via MSBuild is a useful exercise in itself, because it forces your tools to be current.