Open Build Service and SUSE Studio Integration | SUSE Communities

Open Build Service and SUSE Studio Integration

Share
Share

The following article has been contributed by Christian Bruckmayer, Web Development Engineer at the Build Solutions team at SUSE.

 

 

I am sure you all know about the amazing SUSE Studio and you love how it abstracts the complicated process of appliance building. However, it lacks several essential features like an integration into your continuous integration workflow or automatic rebuilds on updates. But we – the Open Build Service team – currently work on a better integration of appliance building in the Open Build Service. This blog post will show you how you can export your appliance from SUSE Studio and import it into the Open Build Service (OBS) to benefit from these features.

SUSE Studio

SUSE Studio is the award-winning online application to create custom Linux appliances. It helps you configure packages, users, database and much more. A little known feature is that it allows you to export appliance configuration files.

 

To do this go to the Build tab, click Export your appliance's Kiwi configuration and then click Download appliance source.

The export contains the Kiwi description of your appliance. Kiwi is the OS image appliance builder which powers SUSE Studio and Open Build Service in the background. If you want to know more about it, have a look at the excellent documentation. After extracting the archive, you can investigate the files.

The most interesting file is the source.kiwi.txz archive as it can be directly imported into your Open Build Service project.

Open Build Service

First go to your home project and add the Kiwi image builds repository.

After that, create a new package inside your home project.

After clicking on create you will end up with a package without source files. Click on Add file and select source.kiwi.txz from your download directory to import your SUSE Studio configuration into OBS.

The import feature will extract the archive and does several adaptions like renaming files and ordering repositories. If everything worked like expected, the appliance should start building after a few minutes.

Advantages & Limitations

Some of you might ask: why should I use the Open Build Service instead of SUSE Studio? As already mentioned in the beginning, OBS can easily be integrated in your continuous integration workflow. You can setup a source service which automatically fetches your latest code from GitHub, builds an RPM package and eventually your custom Linux application. The dependency resolution of OBS also makes sure that you get a new appliance as soon as one of the dependencies changed. To complete the continuous integration workflow, it is possible to test the appliance with Open QA.

But OBS offers more! SUSE Studio uses only a small subset of Kiwi, with the help of OBS you can make use of the full feature set. Similiar to GitHub and SUSE Gallery, OBS gives you the ability to collaborate with other appliance maintainers. Ever wanted to build appliances for your Raspberry Pie? While SUSE Studio only offered building 64-bit appliances, with OBS you can now build many other architectures including ARM or s390.

We tried to make the import as smooth as possible for you, however, there are of course limitations. If you have, for instance, custom repositories in your appliance, OBS will fail to resolve these and you will end up with a broken package.

You can resolve this issue by editing the ‘config.kiwi’ file and adding the correct OBS repository with the schema obs://$PROJECT/$REPOSITORY

As OBS parses the configuration file before it starts the build, you can get have choice or similiar issues which you need to resolve manually. This is for instance the case for imports of KDE configuratation files.

You need to decide on case to case which package is the correct one. We can fix the KDE configuration by removing the package kdebase4-session from the config.kiwi file.

If you have questions or suggestions, send an email to our mailinglist, join us in IRC on #opensuse-buildservice @ freenode or open an issue.

Share

Leave a Reply

Your email address will not be published. Required fields are marked *

No comments yet

Avatar photo
6,275 views
Meike Chabowski Meike Chabowski works as Documentation Strategist at SUSE. Before joining the SUSE Documentation team, she was Product Marketing Manager for Enterprise Linux Servers at SUSE, with a focus on Linux for Mainframes, Linux in Retail, and High Performance Computing. Prior to joining SUSE more than 20 years ago, Meike held marketing positions with several IT companies like defacto and Siemens, and was working as Assistant Professor for Mass Media. Meike holds a Master of Arts in Science of Mass Media and Theatre, as well as a Master of Arts in Education from University of Erlangen-Nuremberg/ Germany, and in Italian Literature and Language from University of Parma/Italy.