Build Service

出典: openSUSE


目次

はじめに

openSUSE Build Service は将来の SUSE Linux ベースのディストリビューションのオープンな開発のためのインフラを提供します。Build Service はソフトウェア開発者に、ソフトウェアを幅広いユーザに向けて素早く手軽にリリースし公開するための web インターフェイスを提供します。私たちのこのサービスは、あなたが SUSE Linux をベースにしたあなた独自の Linux ディストリビューションを作成するための、完全なディストリビューション開発環境を提供します。さまざまなアーキテクチャ上で SUSE Linux のためのパッケージをビルドすることができます。加えて、Fedora や Debian/Ubuntu のような他のたくさんの Linux ディストリビューションのためにソフトウェアをコンパイルし、パッケージングするためのサービスでもあります。ユーザが最新のパッケージを見渡してダウンロードするのもカンタンです。オープンなインターフェイスなので、外部のサービス(たとえばSource Forge)が Build Service と互いにやり取りしてそのリソースを利用することもできます。

さらに進んだ段階では、Build Service はユーザ認証を経た誰にでもアクセス可能で、更なるビルドターゲット(たとえば LSB や Xen イメージ)を作成することができるようになるでしょう。

利点

開発者にとって

  • さまざまなアーキテクチャに向けてパッケージをビルドするのに必要な、山ほどのハードウェアや「コンパイル環境(compiler farms)」は必要ありません。
  • Produce better software: some software-projects still use 16bit processes and wonder why their code didn't compile on 32bit or 64bit plattforms.
  • 他のパッケージへの依存関係の自動解決。あるパッケージが他のパッケージに依存している場合、このパッケージは、依存している他のパッケージがリビルドされると自動的にリビルドのきっかけを与えられます。
  • 他のプロジェクトへのリンク: パッチは他のプロジェクトからの最新のパッケージでテストされます。たとえば: ある開発者が amarok へのパッチを持っていて、それをある決まった環境でテストしたいとします。彼は KDE project へのリンクを作成して自分のパッチのテスト環境としてそれを使うことができます。その結果: 彼のパッチの適用されたバージョンの amarok は、KDE project が新しいビルドを開始するたびに常にリビルドのきっかけを与えられます。

ユーザにとって

  • 自分の使っているディストリビューション向けの最新のソフトウェアが常に手に入ります。Build Service の信頼システムを使えば、ユーザは「xy プロジェクトを信頼する」と宣言することができ、その後、このプロジェクトからのみパッケージをインストールできるようになります。
  • 古いディストリビューションのためのアップグレード(SL 10.0 に新しい KDE 3.5.3 を入れるような)
  • 異なったディストリビューションをより統一化します。Build Service で手に入るパッケージは人々を結び付けます - こう思ったことはありませんか?「彼らは何でこんなことするの?何でこのディレクトリを使うの? - 僕はこのソフトを自分のディストリビューションにも入れたいのに」(ただし、これはまだ先の話です... :-)

パッケージを探してインストールするにはどうすればいいの ? ここをご覧ください

ディストリビュータにとって

  • Build Service は、さまざまな形で使うことのできる完全なディストリビューションや修正イメージを簡単に作成することができます。ネットワークブート用のイメージを作成したり、XEN や VMWARE のイメージとして使ったりできるKIWI の最初のバージョンがリリースされています。

ロードマップ

ロードマップは こちらを、また小さな変更点については こちらをご覧ください

Build Service を使うには

Build Service は Web インターフェイス経由でも、コマンドラインツール経由でも、さらにはパブリック API を使った他のツールからでも利用することができます。またパッケージャなら cross distribution package how to を読みたがっていることでしょう。

Summer of Code

openSUSE Build Service 絡みの Google Summer of Code のプロジェクトがいくつか存在します:

Build Service ソースコード

SVN リポジトリ

Build Service ツールのソースとドキュメントは forge.novell.com でホストされています。このリポジトリにはサーバのソースだけでなく、クライアントのソースも含まれています。

チェックアウトは以下のようにします

$ svn checkout https://anonymous@forgesvn1.novell.com/svn/opensuse/trunk/buildservice

貢献するには

ほとんどのオープンソースプロジェクトと同じように、パッチや開発プランを書くことから始めてください。ちゃんと動くコードを出せる人だと分かれば svn リポジトリへの書き込み権限を与えるつもりです。

現在、 openSUSE Build Service のプロジェクトで Google の Summer of Code に参加できるチャンスもあります。詳細とプロジェクトの考えについては Summer of Code 2006 のページを参照してください。

ドキュメント

  • Build Service について、FOSDEM から二つの話題を提供します。一つ目の話題では Build Service の考えとそのアーキテクチャについての概観を与えます。二つ目の話題ではプロジェクトのモデルを詳細に記述し、どうやって SUSE Linux や Fedora、Mandriva、Debian といった複数のディストリビューションに対してビルドするのかを説明します。
  • 重要なのは API のためのドキュメントです。API は Build Server と連携して働くシンプルで包括的なインターフェイスです。これを自分のツールに統合してコードをアップデートしたり、自分のプロジェクトの現在の状態をチェックしたりしてもよいですし、何かとても奇抜でクールなことをしても構いません。
  • 私たちの Web フロントエンドやコマンドラインツールが気に入らないですか?それなら改良してもいいですし、自分で新たに書くこともできます。どちらのソースも forge (訳注: forge.novell.com) で手に入れることができます。

連絡先

opensuse-buildservice mailing list に会員登録してください。フィードバックは歓迎します。特に、パッチや新しいツール、新しいアイデアは大歓迎です。

私たちのうちの何人かは、フリーノードの #openSUSE-buildservice チャンネルにたむろしています。

openSUSE Build Service Team より

Web クライアント

コマンドラインツール

今のところ、Build Service には 2 つのコマンドラインツールがあります。どちらも以下で説明されています: