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 biedt softwareontwikkelaars een hulpmiddel om opensource-software gemakkelijk te maken en uit te geven voor openSUSE en andere Linux distributies, op verschillende hardware architecturen en voor een breed publiek. Gebruikers kunnen gemakkelijk de nieuwste door hen gezochte opensource pakketten vinden en deze aanpassen. Dit levert een brug tussen ontwikkelaars en gebruikers met terugkoppeling en waarderingsfunctie. Voor ontwikkelaars is het door het projectmodel een efficiënte plek om een groep op te bouwen en samen te werken.

Inhoud


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 gedetailleerde instructies.

Kijk naar de video.

voor ontwikkelaars

openSUSE Build Service Developer Web Interface
Enlarge
openSUSE Build Service Developer Web Interface
  • 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 compileert 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.
  • Bouw uw software voor meervoudige Linux-distributies.

Voor ingebedde ontwikkelaars

De OBS versie die kruisontwikkeling ondersteunt met de qemu-emulator is uitgegeven in de normale OBS-code. Ook ondersteuning voor arm is geactiveerd in de publieke OBS. Het gebruik van de lokale bouw mogelijkheid via osc/build is ook volledig ondersteund. Voor technische informatie lees de kruisontwikkeling concepten en voorbeeld. Gebruik van QEMU ARM tot ARMv7 EABI en VFPv3 is in een bruikbare staat. Er bestaan drie klassen in de planning voor arm: armv4l, armv5el en armv7el.

Er is een tweede benadering die is gebruikt voor powerpc-architectures. PowerPC is een goed ondersteunde serverarchitectuur en de OBS ondersteunt ook het gebruik van op powerpc-machines. Vanwege beveiligingsbeperkingen zijn de powerpc-werkers in de publieke OBS nog niet beschikbaar voor openbaar gebruik. Zie de OBS-route voor meer details over wat er ontbreekt en wanneer het beschikbaar zal zijn. Niettemin kan powerpc nu gebruikt worden in de privé OBS installaties als u een powerpc-machine met Linux hebt draaien voor de OBS-werkers of het lokale bouwproces (chrooted OBS-werkers, lokale builds).

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.

Een lijst van voorgestelde mogelijkheden is beschikbaar in openFATE.

Hoe te gebruiken


De Build-service handleiding is online beschikbaar en nu nog een werk in uitvoering. De DocBook broncode voor de handleiding is via SVN beschikbaar (zie onder) en patches zijn welkom.

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

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.

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 build-server. 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 een paar kleinere projecten die een goede start zijn voor het ontdekken van de code en het meedoen met het ontwikkelteam.

Documentatie

  • De build-service-inleiding wiki-pagina laat de eerste stappen zien in het maken van uw eigen projecten en pakketten.
  • 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.
  • Een beschrijving van de sleutelcomponenten kan bruikbaar zijn

Contacten en ondersteuning

DE service is ontwikkeld door het openSUSE Build-service-team. U kunt contact met ons opnemen op verschillende manieren.

Build-service-clients

De server kan worden gebruikt via meerdere clients, een overzicht wordt hier onderhouden.

Door/voor gebruikers

Build_Service/PoweredBy - een onvolledige lijst van mensen die een lokale versie van de openSUSE Build-service draaien. Voeg uzelf of uw bedrijf toe als u een lokale versie van de openSUSE Build-service draait.

Projectsamenwerkingsmodel

Build_Service/Collaboration - De Build-service verschillende manieren van samenwerking die in deze wiki zijn vermeld.

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