分散ビルドシステム

分散ビルドシステム

現在広く使用されているLinuxディストリビューション(Ubuntu、Debian、RedHatなど)では、どの分散ビルドツールが使用されていますか?

たとえば、依存関係のある多数のパッケージがあり、新しいバージョンのディストリビューション用にすべてのパッケージをコンパイルしようとしています。一つずつ構築するには時間がかかります。 distccについて聞いたことがありますが、分散並列ビルドのためにサーバー間でプロジェクトのコンパイルを共有します。

パッケージ間の依存関係を分析(グラフ生成など)し、パッケージレベルの並列処理を使用して構築されたスケジュールを生成するツールはありますか?たとえば、パッケージp1、p2、p3、p4、および2つのサーバーがあります。互いに依存しない場合、あるサーバーはp1と他のp2を同時に構築します。

プロダクションに使用されるプロジェクトの例が必要です。

ベストアンサー1

各ディストリビューションには独自のツールセットがある傾向があり、これには多くのシェアウェアはありません。

Debian は を使用し、wanna-buildすべて文書化されていることがわかりますbuilddsbuildDebianのウェブサイトから(リンクもクリックしてください。)wanna-buildビルドキューを維持し、builddビルドするパッケージを選択してsbuildビルドします。wanna-build依存関係がないパッケージを追跡するには、次のコマンドを使用します。「待機」ステータス;パッケージは直接この状態に入ることができます(wanna-buildそれ自体が欠落している依存関係を認識している場合)。または、欠落している依存関係のためにビルドが失敗した後に可能です。一つある地図時間ローカルビルドインフラストラクチャを設定する場合に使用できます。

Fedoraが使用するコージー今すぐ広く文書化。それもさまざまなコンポーネントが含まれています。koji-hub集中型データベースのフロントエンドとkojidドライバベースのデータベースが含まれています。私はKojiについてよく知らないので、ビルドの状態を処理するためにKojiがどのように統合されているかわかりません。

他のディストリビューションには、次のような他のビルドシステムがあります。発射台。すべてのパッケージの集中型ビュー、複数のビルドシステム、ビルド結果を受け取るための中央リポジトリなど、すべてあなたが興味を持っているのと同じ問題に対処します。

おすすめ記事