開発環境の比較、オペレーティングシステムとアプリケーションアプリケーションのビルドとアップグレード

Penguin Softwareのスペシャリストは、5つのビルド環境を分析しました:Open Build Service、Koji、Launchpad、ABF-ROSA、Sisyphus。 最初の3つは、openSUSE、Meego(OBS)、Fedora / RedHat(Koji)、Ubuntu(Launchpad)、ROSA ABF、およびSisyphusなどの大規模プロジェクトで使用される最大のアセンブリシステムです。ロシアの企業ROSAおよびALT Linuxによって開発および使用されたアセンブリシステムそれに応じて。



開発およびアセンブリ環境が解決する主なタスク:

-多数の開発者の配布に関する共同作業の簡素化。

-ソフトウェアの変更の安全性と制御を確保する。

-サードパーティの開発者に、このディストリビューションと互換性のあるソフトウェアを作成する便利な機会を提供します。

-自動化されたテストを通じて開発された配布/ソフトウェアの品質を改善します。

-自動配置によるバイナリパッケージのアセンブリ。



これにより、アセンブリ環境に次の要件が課せられます。

-Webインターフェイス、コマンドラインインターフェイス(cli)、および外部ソフトウェア(通常はXML-RPCまたはREST)のインターフェイスを含む、開発されたインターフェイスの存在。

-さまざまなハードウェアアーキテクチャ向けに構築する機能。

-複数のディストリビューション(または少なくとも異なるバージョンのディストリビューション)を同時にサポートする機能。

-バージョン管理システム、ジャーナリング、承認、アクセス制御の区切りの可用性。

-依存関係を自動的に再構築する機能。

-隔離された環境での組み立て。

-アセンブリ環境のスケーラビリティ。

-ディストリビューションと互換性のあるリポジトリ(個人リポジトリ)に個人用アドオンを作成する機能。

-特殊なディストリビューション(特定のソフトウェアを含む)を作成する機能。

-自動テストを実施する機能。



アセンブリシステムの概要特性( 付録 )。



結論:

-自然界には理想的で普遍的なアセンブリ環境はありません。

-アセンブリ環境の品質と配布キットの「成功」との間に直接的かつ明らかな関係はありません(たとえば、Ubuntuアセンブリ環境では、依存関係の自動再構築はまったくありませんが、システムは最も人気があり高品質です)。

-いずれかのビルド環境に賭けることはできません。



All Articles