openSUSE:Build Service Web-Client Entwicklung

Wechseln zu: Navigation, Suche
Die Web-Schnittstelle des openSUSE Build Service (OBS) auf http://build.opensuse.org ist mit Ruby on Rails geschrieben. Er kommuniziert mit der Build Service API via XML über HTTP. So können Sie leicht eine lokale Schnittstelle der Web-Schnittstelle einrichten, die den API-Server auf http://api.opensuse.org verwendet. Überprüfen Sie die Quellen, installieren Sie die Pakete von Ruby on Rails und Sie sind bereit, den Web-Client zun entwickeln und zu betreiben.

Installation

Die Installation der benötigten Pakete für Ihr openSUSE Release kann als root durchgeführt werden (ersetzen Sie bitte 12.1 durch Ihre Version):

zypper install obs-server obs-api

Auch wenn Sie nicht die OBS-RPMs verwenden, sie werden alle notwendigen Abhängigkeiten herunterladen. Die Quellen des OBS sind in einem Git-Repository untergitorious.org gehostet. Den Quellcode zu erhalten ist leicht durch anonymes auschecken zu bekommen (Bitte lesen Sie die OBS Git Seite):

Um sich einige gemeinsam benutzte Module zu holen, rufen Sie bitte auf:

git submodule init
git submodule update

Erstellen Sie die Datenbankkonfiguration indem Sie die Beispielkonfiguration verwenden (und bearbeiten diese wie gewünscht):

cd src/webui
cp config/database.yml.example config/database.yml

Ebenso erzeugen Sie die Konfigurationsoptionen durch Verwendung der Beispieldatei (bearbeiten wie benötigt):

cp config/options.yml.example config/options.yml

Als nächstes erstellen Sie die Datenbank. Sie wird für das Caching der Daten und Benutzersitzungen gebraucht:

cd build-service/src/webui
rake db:setup

Um regulär auf den neuesten Code zu aktualisieren starten Sie:

git submodule update
git pull origin master

im Verzeichnis build-service/ und aktualisieren die Datenbank via:

cd build-service/src/webui
rake db:migrate


Start Ihres lokalen Web-UI

Die Web-Schnittstelle ist nun sehr leicht zu starten, in dem Sie nur

cd build-service/src/webui
script/server

starten.

Dieses startet eine lokale Instanz, bei der Sie sich mit jedem Webbrowser unter Verwendung von http://127.0.0.1:3000/ als URL verbinden können. Es gibt keine Notwendigkeit, einen kompletten Buils Service zu installieren. Probieren Sie es ruhig aus. Sie können leicht Dateien bearbeiten, insbesondere unter dem Verzeichnis app/ sowie die Web-Schnittstelle an Ihre Bedürfnisse anpassen oder verbessern.

Um Gebrauch davon zu machen, Ihre Bedürfnisse zu verstehen, kann der Memcached Daemon gestartet werden:

sudo /etc/init.d/memcached start


Fehlerbeseitigung

Um die Fehler der Anwendungen der Rails zu beheben, werden Sie das Ruby-Debugging-Paket installieren müssen:

zypper install rubygem-ruby-debug


Danach können Sie die Abbruchstelle im Code einrichten, indem Sie eine Zeile, die "debugger" enthält, hinzufügen.

Um den Server im Fehlerbeseitigungsmodus zu starten, geben Sie ein:

./server --debugger


Beitrag einreichen

Github hat einen sehr einfachen Mechanismus zum Projekt beizutragen. Gehen Sie nur zu http://github.com/openSUSE/open-build-service, loggen sich ein und klicken auf 'Fork'.

Nach Übergabe Ihrer Änderungen an Ihrem Klon des OBS-Repos, können Sie beantragen, sie in das Haupt-Repository aufzunehmen, indem Sie auf 'Request merge' klicken und das Ziel-Repository des Build Service auswählen. Das OBS-Team wird benachrichtigt und Ihr Patch durchsehen.

Um mit der OBS-Community in Kontakt zu kommen verwenden Sie unsere opensuse-buildservice Mailingliste (archive) oder treten Sie in den #openSUSE-buildservice Kanal bei Freenode ein.