3

GNUとMicrosoftの両方のツールチェーンを使用して、すべての主流OS用のドライバー、ライブラリ、コマンドラインツール、GUI、およびOSインストールパッケージを生成する100万行を超えるマルチプラットフォームプロジェクトのビルドシステムの最良の選択は何でしょうか?

私たちのソースコードは主にCで、Python、C#、GNU makefile、そして少しのC++とbashが含まれています。これは主に1つのリポジトリにありますが、ソースコードをさまざまなサードパーティにプッシュします。サードパーティはすべて、ソースコードコードリポジトリを持っています。ビルドを高速に保つことにも関心があります。これには、プロジェクトの分割が含まれる場合があります。

現在、GNU make、bash、python、およびMicrosoftのDDKBUILDを組み合わせて使用​​しています。主な問題は、makeの上に複雑なスクリプトのセットを維持していて、サードパーティ(できればオープンソース)のツールを使用することを好むことと、cygwinがWindowsで堅牢であることが証明されていないことです(たとえば、フォークが常に可能であるとは限りません) )、および現在のビルドシステムはツールチェーンをビルドまたはインストールしないため、ツールチェーンのバージョン変更に対して脆弱です。

4

6 に答える 6

4

私は、KDE4 ビルド システムをゼロから実際に書き直すメタ ビルド ツールとして、CMake に投票します。そして、KDE4 を、WindowsCE でも動作するクロスプラットフォーム デスクトップにします。

CMake は、地球上の任意の OS に KDE4 を移植するキャリアです。相対的なツールチェーンを備えた約 40 の OS 用の Makefile (または Windows の場合は vcprojs) を生成することによって!

于 2009-04-10T15:15:16.717 に答える
1

JetBrains TeamCityは一般的に非常にうまく機能するため、評価リストに含める価値があります。

ThoughtWorksCruiseも同じスペースにあります。そのv1の間、それはしばらくの間存在していた厩舎から来ています。

Team Foundation Serverについては、状況に応じて必ずしも数えることはできませんが、箱から出してすぐに、他の2つよりもMSショップ中心になる可能性があります。

一般的なコメントとして、あなたが持っている多様性のレベルで、あなたは間違いなくあなたが使いたいものは何でも試してみたいです-ボックスのチェックマークとして何かがサポートされているからといって、それがoyuが探しているものに合うとは限りません。

于 2008-12-11T10:22:39.667 に答える
1

Cruiseを見たいと思うかもしれません。Java で構築されているため、それをサポートする任意のプラットフォームで実行されます。また、異なるプラットフォームで異なるタスクを実行できる複数のビルド エージェントを異なるマシンに配置することもできます。Thoughtworks はまだ構築中であるため、機能の一部が欠けていますが、真のクロスプラットフォーム機能を探しているので、これは良い選択肢かもしれません。

于 2009-01-03T14:22:52.790 に答える
1

SConsは、Python で実装されたクロスプラットフォーム ビルド システムです。これを使用して、3 つのプラットフォームでコードをビルドします。ビルド ツールを自動的に検出できますが、ビルド スクリプトに任意の Python コードを入れることもできます。また、環境設定をプロジェクト構造の説明から分離することもできます。これは、さまざまな環境で buidl スクリプトを再利用するための優れた機能です。プロジェクトを直接ビルドするだけでなく、Visual Studio プロジェクト ファイルを生成することもできます。

于 2009-04-29T16:30:11.607 に答える
1

ディクソン、

ビルドの大部分がモノリシックですか、それともいくつかのライブラリを個別にビルドして、それらをより大きなアプリケーションにアセンブルしますか? プロジェクト間の依存関係が重要な場合、選択肢はすぐに制限されます。AnthillProはうまく機能しており、 TeamCityには Ivy 統合がサポートされていると思います。あなたが言っていることから、これは絶対的な必要性ではないように思えますが、ビルドを高速化するのに役立つかもしれません. これは確かに、多くのチームが効果的に実行している戦略です。

クロスプラットフォーム (複数のマシンを想定) のビルドを検討しているため、Hudson 以外のオープン ソース ツールのほとんどは除外されています。

ビルド サーバー比較マトリックスは、Thoughtworks の友人によってホストされています: confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix

幸運を。

于 2008-12-11T17:59:33.283 に答える
1

調査する代替案のリストにCMakeを含める必要があります。CMake はメタツールです。つまり、選択したビルド ツール (GNU make、Visual Studio など) への入力を生成します。強くお勧めできます。

于 2008-12-30T23:04:44.887 に答える