Build-service

De openSUSE Build-service is een open en compleet distributie-ontwikkelplatform dat voorziet in een infrastructuur om openSUSE distributies te ontwikkelen.

De service geeft software ontwikkelaars een hulpmiddel om hun open-source software gemakkelijk te maken en vrij te geven voor openSUSE en andere Linux-distributies op verschillende architecturen en voor een breed publiek van gebruikers. Gebruikers kunnen er gemakkelijk de laatste open-source pakketten vinden en deze aanpassen aan hun behoefte. Het biedt een brug tussen de ontwikkelaars en gebruikers met terugkoppeling en een waardering-functie. Voor ontwikkelaars is het een efficiënte plaats om groepen op te bouwen en samen te werken in het project-model.

Inhoud

openSUSE Build Service Developer Web Interface
Enlarge
openSUSE Build Service Developer Web Interface

Mogelijkheden

In de introductie hierboven vertelden we dat de Build-service een compleet distributie-ontwikkelplatform is die een infrastructuur creëert die benodigd is voor het ontwikkelen van toekomstige op openSUSE gebaseerde distributies.

Het systeem heeft ook de mogelijkheid om software te compileren en te verpakken voor andere Linux distributies zoals Fedora, Debian, Ubuntu, en vele andere.

OpenSUSE gebruikers kunnen eenvoudig door de gebruikerszijde van de webinterface bladeren op http://software.opensuse.org/ en daar de laatste pakketten downloaden.

Open interfaces maken het mogelijk dat andere diensten (zoals SourceForge) en webpagina's contact kunnen leggen met de Build Service om zo ook van de diensten gebruik te kunnen maken.

In een gevorderd stadium zal het toegankelijk zijn voor iedereen voorzien van gebruiks/vertrouwensrelatie en het zal mogelijk zijn verdere bouwdoelen te maken (zoals LSB en Xen images).

Voordelen

voor gebruikers

  • Het verkrijgen van de nieuwste software versies voor hun distributie. Door een vertrouwensrelatie in de build-service kan de gebruiker aangeven "Ik vertrouw het project xy". Daarna kan hij alleen pakketten van dit project installeren.
  • Het verkrijgen van upgrades voor oudere distributies. (Zoals het verkrijgen van KDE 3.5.7 voor SL 10.0)
  • Meer eenheid tussen de verschillende distributies. Pakketten uit de build-service kan mensen bij elkaar brengen door de gedachte "Waarom doen zij zoiets? Waarom gebruiken zij die mappen? Ik wil dit ook voor mijn distributie". (maar dat is iets voor de toekomst... :-)
  • U kunt gemakkelijk software vinden en installeren via de Eindgebruiker-interface. Bovendien kunt u ook handmatig installeren via een pakketbeheerder, zie hier voor gedetaileerde instructies.

Kijk naar de video.

voor ontwikkelaars

  • Er zijn geen "compileer boerderijen" of andere soorten hardware nodig om een pakket voor verschillende architecturen te maken.
  • Maak betere software: sommige softwareprojecten gebruiken nog steeds 16bit processen en vragen zich af waarom hun code niet compilleert op 32bit of 64bit platvormen.
  • Het automatisch oplossen van afhankelijkheden tot andere pakketten. Als een pakket afhankelijk is van een ander pakket zal dit eerste pakket automatisch voor een herbouw in aanmerking komen als deze afhankelijkheid opnieuw wordt gebouwd.
  • Linken naar andere projecten: Patches kunnen worden getest met de nieuwste pakketten van andere projecten. Bijvoorbeeld: een ontwikkelaar heeft een patch voor Amarok en wil dat testen in een speciale omgeving. Hij kan een link naar het KDE project leggen en deze als ruimte voor zijn eigen testen gebruiken. Het resultaat: zijn gepatchte versie van Amarok zal altijd opnieuw worden gebouwd als het KDE project een nieuwe bouwversie voorbereid.
  • Build your software for multiple Linux distributions. Currently, the list of supported distributions is:
    • SUSE
      • openSUSE 10.3
      • openSUSE 10.2
      • SUSE Linux 10.1
      • SUSE Linux Enterprise 10
      • SUSE Linux Enterprise 9
      • openSUSE Factory
    • Debian
      • Debian Etch
    • Red Hat
      • Fedora 8
      • Fedora 7
      • Fedora 6 + Extras
      • Red Hat Enterprise Linux 5
      • Red Hat Enterprise Linux 4
      • CentOS 5
    • Mandriva Linux
      • Mandriva 2008
      • Mandriva 2007
      • Mandriva 2006
    • Ubuntu (Omvat Ubuntu, Kubuntu, Xubuntu, etc.)
      • Ubuntu 8.04
      • Ubuntu 7.10
      • Ubuntu 7.04
      • Ubuntu 6.06

voor distributeurs

  • De build-service kan het eenvoudig bouwen van complete distributies of aangepaste images doen om te worden gebruikt op verschillende manieren. De eerste versie van KIWI om images voor het booten via een netwerk of het gebruik in Xen of VMware image is al vrijgegeven.

Route

We hebben een build-service-route en we onderhouden ook een logboek van kleinere veranderingen alsook enige groene weiden concepten.

Hoe te gebruiken

De build-service kan worden gebruikt via het Web Interface, via de commandoregelhulpmiddel of door enig ander hulpmiddel gebruik makend van de publieke API. Verpakkers zouden misschien ook de kruisdistributiepakket-inleiding en de build-service-inleiding willen lezen.

Om in te loggen in de build-service moet u beschikken over een Novell account. Voor meer informatie lees de login-sectie in de build-service-inleiding.

Enkele hints kunnen worden gevonden op de build-service tips & trucs site.

Summer of Code

Er lopen momenteel enkele Google Summer of Code projecten die te maken hebben met de openSUSE build service:

Build service broncode

SVN installatiebron

De bron en documentatie van het build-service hulpmiddel zijn gehost op forge.novell.com. Deze installatiebron bevat de bronnen voor client hulpmiddelen alsook voor de servers.

Gebruik het volgende commando voor het bekijken van de broncode: svn co https://forgesvn1.novell.com/svn/opensuse/trunk/buildservice

Pakketten

Pakketten zijn aanwezig in de buildserver maar deze zijn nog niet echt klaar voor productie. Hier moet nog het een en ander aan gedaan worden voordat alles klaar is. De pakketten kunnen worden gevonden in de openSUSE:/Tools repository. Zoek naar pakketten genaamd obs-* (openSUSE Build Server).

Hoe mee te doen

Zoals met de meeste openbron projecten, start met het schrijven van patches of een concept van wat je van plan bent te gaan ontwikkelen. Mensen die hebben bewezen dat ze werkende code afleveren krijgen toegang tot de SVN verzamelplaats.

Er zijn ook al Google Summer of Code projecten geweest in de context van de openSUSE Build-service:

Documentatie

  • We hebben twee presentaties van FOSDEM over de build service. De eerste geeft een overzicht van het idee van de build service en zijn architectuur. De tweede beschrijft het projectmodel in detail en legt uit hoe je moet bouwen voor meerdere distributies, waaronder openSUSE, Fedora, Mandriva en Debian.
  • Een belangrijk stuk in de documentatie over de API. De API is een simpele en generieke interface om te werken met de build-server. Je kan het gebruiken om het te integreren in je hulpmiddel om code-updates te sturen, de huidige status van je projecten te controleren of iets totaal anders.
  • Vind je de Web Frontend of het commandoregelhulpmiddel niet mooi? Je kan het verbeteren of je eigen versie ervan schrijven. De broncode voor beide is beschikbaar in de forge verzamelbak.

Contact

Meld je aan voor de opensuse-buildservice maillijst (archief). Feedback is welkom, nog meer welkom zijn patches, nieuwe hulpmiddelen en nieuwe ideeen.

Enkelen van ons hangen ook rond op het #openSUSE-buildservice kanaal van freenode.

U kunt bugs rapporteren voor de build-service middels Bugzilla.

Uw openSUSE Build-service Team

Build-service-clients

De architectuur die gebaseerd is op de REST API staat toe gemakkelijk verschillende clients te schrijven. Dat geeft ons de kans om aan de wensen van gebruikers met verschillende ervaringen te voldoen.

Web Client

De Web-gebaseerde cliënt voor de openSUSE Build-service geeft op een gemakkelijke manier toegang tot de Build-service en is de meest complete grafische interface.

Commandoregel-clients

Momenteel zijn er twee commandoregelhulpmiddelen voor de build service. Ze worden allebei hier beschreven:

Indien je een build-service ontwikkelaar bent kan het zijn dat je geinteresseerd bent in het gebruik van de build service REST API direct via curl.

KDE Rich Client

Er is een Google Summer of Code-project geweest dat begonnen is met de implementatie van een KDE Rich Client. Voor meer informatie zie Rich Client

Afkomstig van openSUSE NL, de Vrije Encyclopedie. "http://nl.opensuse.org/Build-service"