4

現在、Linux で Make を使用してビルドする C++ プロジェクトがあります。CruiseControl の下の Java プロジェクトと同様に自動化したいと思います。

1) C++ プロジェクト用の CruiseControl に似たプロジェクトはありますか?

また

2) C++ プロジェクトで CruiseControl を使用するための適切な「ハウツー」はありますか?

4

5 に答える 5

6

Linux で C++ プロジェクト用に CruiseControl をセットアップすることを検討していましたが、Hudsonに出会いました。1 つのファイルと 1 つのコマンド ラインのセットアップがあり、すぐに実行できます。管理アクセスは、優れた Web インターフェイスを介して行われます。強くお勧めします。

Hudson は CC に比べてセットアップと管理が簡単なように見えます。さらに、プラグインを介してビルドの統計、エラー/警告にアクセスでき (ディレクトリにドロップすると利用可能になります)、ビルドが失敗したときに自動的に電子メールを送信するように設定できます。

各プロジェクト ディレクトリに対して make を呼び出すシェル スクリプトを作成しました。ハドソンにそのスクリプトを実行するように指示しました。ビルドは cron のような設定を介してセットアップされます - Web インターフェースを介してセットアップされます。コードの変更を 30 分ごとにチェックし、perforce からビルドを取得して再コンパイルしています。

よくわからない場合は、試してみてください。起動して実行するのに数分しかかかりません。現在のビルド セットアップで何が可能かを確認したかったのでダウンロードしましたが、過去を振り返ることはありませんでした。1 年近く問題なく実行されています。

于 2009-05-19T15:24:57.650 に答える
3

TeamCityを使用しているため、CruiseControlはわかりませんが、CruiseControlはコマンドラインビルドを実行できるはずです。つまり、Makeを呼び出すだけです。それは何も悪いことではありません。TeamCityでは、進行状況の通知をmakeファイルに追加することも簡単です(特定の形式で出力するだけです)。そのため、「ネイティブ」プロジェクトとそれほど違和感はありません。CruiseControlがこの点でどこまで進んでいるかはわかりません。

CMakeで構築された大規模なC++プロジェクトがあり、コマンドラインで実行されており、単体テストの結果(Boost :: Testを使用)も正しく報告されます。

ああ、CruiseControlがJava以外のコマンドラインランナーまたはプロジェクトタイプをサポートしていない場合は、代わりにTeamCityを検討する必要があります。

于 2009-05-19T15:14:33.910 に答える
1

Hudsonを実行して、C++ と Java コードの混合物をビルドしていますが、非常にうまく機能します。CruiseControl に対する利点の 1 つは、Hudson には完全な Web インターフェイスがあるため、XML ファイルを手動で編集する必要がないことです。

于 2009-05-19T15:18:12.360 に答える