{"id":607,"date":"2010-04-18T01:44:01","date_gmt":"2010-04-18T00:44:01","guid":{"rendered":"http:\/\/www.thomaskeller.biz\/blog\/?p=607"},"modified":"2010-04-18T01:44:01","modified_gmt":"2010-04-18T00:44:01","slug":"opensuse-build-service-automation","status":"publish","type":"post","link":"https:\/\/www.thomaskeller.biz\/blog\/2010\/04\/18\/opensuse-build-service-automation\/","title":{"rendered":"openSUSE build service automation"},"content":{"rendered":"<p>A few weeks ago I&#8217;ve hacked together some scripts to use the openSUSE build service as platform for nightly builds. The build is kicked off every hour when something new can be build.<\/p>\n<p>Additionally I&#8217;ve created a small <a href=\"http:\/\/monotone.thomaskeller.biz\/autobuild\/index.php\">PHP client<\/a> which queries the openSUSE RESTful API and shows packages, binaries, the build log of the last build and a build history.<\/p>\n<p>The code for this is GPL&#8217;d and can be cloned via monotone:<\/p>\n<p>\t$ mtn clone thomaskeller.biz biz.thomaskeller.monotone-nightly<\/p>\n<p>All this could be polished and secured quite a bit more and its even arguable if its a good idea to &#8220;misuse&#8221; the openSUSE&#8217;s infrastructure<br \/>\nfor nightly builds like this, but I see it more as a proof of concept. Since their build infrastructure code is open source as well, somebody<br \/>\ncan always just setup a build server together with a service and a couple of predefined XEN images and should be good to go.<\/p>\n<p>The concept can now be horizontally applied to other distros and versions as well, basically anything what can run within a Xen instance<br \/>\n(unfortunately this does not include Mac OS X or Windows, so there is still the need for some kind of alternative build infrastructure). I<br \/>\neventually plan to add a couple of more Xen instances to my project and try to get them build &#8211; of course you can be my guest and play with it yourself and lend me a helping hand here \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A few weeks ago I&#8217;ve hacked together some scripts to use the openSUSE build service as platform for nightly builds. The build is kicked off every hour when something new can be build. Additionally I&#8217;ve created a small PHP client which queries the openSUSE RESTful API and shows packages, binaries, the build log of the &hellip; <a href=\"https:\/\/www.thomaskeller.biz\/blog\/2010\/04\/18\/opensuse-build-service-automation\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">openSUSE build service automation<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,4,28],"tags":[],"class_list":["post-607","post","type-post","status-publish","format-standard","hentry","category-coding","category-monotone","category-opensuse"],"_links":{"self":[{"href":"https:\/\/www.thomaskeller.biz\/blog\/wp-json\/wp\/v2\/posts\/607","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.thomaskeller.biz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.thomaskeller.biz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.thomaskeller.biz\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.thomaskeller.biz\/blog\/wp-json\/wp\/v2\/comments?post=607"}],"version-history":[{"count":2,"href":"https:\/\/www.thomaskeller.biz\/blog\/wp-json\/wp\/v2\/posts\/607\/revisions"}],"predecessor-version":[{"id":609,"href":"https:\/\/www.thomaskeller.biz\/blog\/wp-json\/wp\/v2\/posts\/607\/revisions\/609"}],"wp:attachment":[{"href":"https:\/\/www.thomaskeller.biz\/blog\/wp-json\/wp\/v2\/media?parent=607"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.thomaskeller.biz\/blog\/wp-json\/wp\/v2\/categories?post=607"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.thomaskeller.biz\/blog\/wp-json\/wp\/v2\/tags?post=607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}