> September 9, 2009 :: Setting up a development buildservice instance
If you just want to use the buildservice and are not interested in the latest code and it's development, it is recommended to simply use the openSUSE instance, or install it from rpm (howto for 11.0). The buildservice consists of various parts, mainly the backend, the frontend (API), and different clients that connect to the API, we will set it up with the webclient. At first we need to check out the buildservice code: svn co https://forgesvn1.novell.com/svn/opensuse/trunk/buildservice Setting up the backend:We need to initialize the config file, add a buildservice user, and create the working directories:cd src/backend cp BSConfig.pm.template BSConfig.pm sudo useradd obsrun -s /bin/false sudo /usr/sbin/groupadd obsrun sudo mkdir -p /srv/obs/run /srv/obs/projects sudo chown -R obsrun /srv/obs/This needs to be done as root or with sudo rights. To change the default directory or the user edit the BSConfig.pm file. Now we are ready to start the servers. You should start each one in it's own terminal to see the logfiles.
Setting up the frontend (API):We can create a config file for the development machine, so we don't have to change the original one:cd frontend; pushd config/environments; cp development_base.rb development.`hostname`.rb; popd;Now we need to set up a database for the frontend, simply configure a database user in config/database.yml, crete the database and run: rake db:migratenow the database should be correctly initialized. Starting the API server with:
The API documentation is now available here: http://127.0.0.1:3001/apidocs/ This API can now be used by different clients, or standard tools like curl (howto). Setting up the webclient:Setting up the weblient for usage with the openSUSE.org API is very easy, and explained in the wiki. To use it with our local frontend, we just need to change some config values:cd webclient; pushd config/environments/; cp development_base.rb development.`hostname`.rb; popd;and set: FRONTEND_HOST = "localhost" FRONTEND_PORT = 3001 FRONTEND_PROTOCOL = 'http'
Link your instance to the openSUSE.org buildserviceAs our backend does not yet have any repositories we could build packages against, the easiest way to get started is to link it against the openSUSE buildservice, so we are able to build against all repositories from there. This is unfortunately not yet possible from the admin interface, so we have to use the API directly with curl:curl -u Admin:opensuse -T opensuse_link http://localhost:3001/source/openSUSE.org/_meta with opensuse_link being a file with this content: <project name="openSUSE.org" > <title>openSUSE.org build link</title> <description>Build against projects from build.opensuse.org</description> <remoteurl>https://api.opensuse.org/public</remoteurl> </project>
We need to use curl again to add a repository from the linked buildservice as a build target: curl -u Admin:opensuse -T _meta http://localhost:3001/source/home:Admin/_meta with _meta being a file with this content: <project name="home:Admin"> <title>Admin's Home Project</title> <description></description> <repository name="openSUSE_11.1"> <path project="openSUSE.org:openSUSE:11.1" repository="standard"/> <arch>i586 </repository> <person role="maintainer" userid="Admin"/> <person role="bugowner" userid="Admin"/> </project>
Did you get interested in buildservice development, or did you run into some limitations that you want to fix? There also is a wiki page at: http://en.opensuse.org/Build_Service/Junior_Projects that lists some tasks that can be done. The buildservice community can be found on irc at #opensuse-buildservice at freenode, and on opensuse-buildservice@opensuse.org (subscribe). |
|
> November 27, 2008 :: SWAMP Live appliance with JobTracker
SWAMP (SWAMP Workflow Administration And Management Project) is our tool to implement workflows inside SUSE.
Development started some years ago to be able to represent processes that involve many different people and working steps in a structured way. The main feature of SWAMP is, that it does not hardcode any business logic in it's engine, but reads the workflow definitions from a XML based meta language. Therefore changes in the processes (that happen nearly every day) can be done quite easily. Beside the standard workflow 'patterns' like simple actions, decisions, selections, and loops SWAMP also can call custom java code and embedded groovy scripts at any time. SWAMP can interact the autobuild system and Novell bugzilla, and offers web, SOAP and RSS interfaces. We do use the system to track L3 support cases, the CD production process, Maintenance updates (maybe you recently encountered those automatic whiteboard entries in Bugzilla: 'maint:released:sles10:20694' for example) and up until now for tracking Job offers and job applications, including management of the application documents and ratings. Since HR migrated to Novell's corporate tool, we are able to release the JobTracker workflow to the public! It is already included in the current beta builds of swamp (RPMS svn). As the SUSE Studio is in public beta and pretty good shape now, I decided to build an appliance with the current SWAMP, including the JobTracker. So you can give SWAMP including the JobTracker a try at the swamp demo server or on your own system by using one of the following flavours: Download, 385Mb. Instructions how to install this image to a USB stick. |
> June 1, 2006 :: BlinkenLED project
|
> April 4, 2006 :: Fixed flashgame highscores
|
|
Earlier Posts
|











