Introduction to Open Build Service SUSE Studio

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo
Firefox 2 Feature Proposal: Remote User Profiles TeamOne August 3, 2007 TeamOne August 3, 2007.
Presented by Mina Haratiannezhadi 1.  publishing, editing and modifying content  maintenance  central interface  manage workflows 2.
Talend 5.4 Architecture Adam Pemble Talend Professional Services.
Section 6.1 Explain the development of operating systems Differentiate between operating systems Section 6.2 Demonstrate knowledge of basic GUI components.
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
DB2 (Express C Edition) Installation and Using a Database
Linux Operations and Administration
Customized cloud platform for computing on your terms !
Computing on the Cloud Jason Detchevery March 4 th 2009.
Service Computation 2010November 21-26, Lisbon.
Configuration Management (CM)
April 30, 2007 openSUSE.org Build Service a short introduction Moiz Kohari VP Engineering.
An Introduction to Progress Arcade ™ June 12, 2013 Rob Straight Senior Manager, OpenEdge Product Management.
Chapter 3 Software. Learning Objectives Upon successful completion of this chapter, you will be able to: Define the term software Describe the two primary.
INFSO-RI Enabling Grids for E-sciencE Ganga 4 – The Ganga Evolution Andrew Maier.
A Technical Overview Bill Branan DuraCloud Technical Lead.
Introduction TO Network Administration
May07-02: Parking Meter Clint Hertz: Team Leader Austyn Trace: Communications Nick Hollander Christian Baldus.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 1.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
Scientific Linux Inventory Project (SLIP) Troy Dawson Connie Sieh.
1 April 14, Starting New Open Source Software Projects William Cohen NCSU CSC 591W April 14, 2008.
From Source Code to Packages and even whole distributions By Cool Person From openSUSE.
From Source Code to Packages for Various Distributions Andreas Jaeger Program Manager openSUSE
Dec06-02: Parking Meter Ryan King: Team Leader Kristen Goering: Communications Justin Smith John Scapillato.
An Introduction to. Where did Fedora come from? Boxed set every 6 months == Failed business model [
Introduction to Computers
Unit 3 Virtualization.
IT320 Operating System Concepts
SmartCenter for Pointsec - MI
Cross-Distribution Packaging Made Easy OSDC 2011, Canberra
Introduction to Computers
Joonas Sirén, Technology Architect, Emerging Technologies Accenture
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
By: Raza Usmani SaaS, PaaS & TaaS By: Raza Usmani
From Source Code to Packages for Various Distributions
From Source Code to Packages and even whole distributions
Jason Bury Dylan Drake Rush Corey Watt
What are they? The Package Repository Client is a set of Tcl scripts that are capable of locating, downloading, and installing packages for both Tcl and.
Foundations of Data Science
Platform Overview Provide your marketing and sales groups with a single, integrated, web based on-demand platform that allows them to easily automate and.
Selected topic in computer science (1)
Trends like agile development and continuous integration speak to the modern enterprise’s need to build software hyper-efficiently Jenkins:  a highly.
Delphi or C++ Builder, with Subversion and Jenkins
Business in a Connected World
Development Changes in Dynamics 365 for Finance and Operations
Tools and Services Workshop Overview of Atmosphere
A technical look at new capabilities and features
Software Documentation
Design and Implementation
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
Introduction to Cloud Computing
Source Code Management
Git Version Control for Everyone
ApplinX Rod Carlson Senior Technical Lead.
Chapter 2: The Linux System Part 1
Module 01 ETICS Overview ETICS Online Tutorials
DAT381 Team Development with SQL Server 2005
Agile testing for web API with Postman
Cloud Computing LegalRun Solutions Why It’s Right for You!
Salesforce.com Salesforce.com is the world leader in on-demand customer relationship management (CRM) services Manages sales, marketing, customer service,
David Cleverly – Development Lead
Introduction to Portal for ArcGIS
PyWBEM Python WBEM Client: Overview #2
REST Easy - Instant APIs for Your Database
Mark Quirk Head of Technology Developer & Platform Group
Chapter 3 Software.
Module 02 Operating Systems
Presentation transcript:

Introduction to Open Build Service SUSE Studio Axel Braun (with material from OpenBuildService) This talk is an introduction to the Open Build Service. A generic system to build and distribute binary packages from sources in an automatic, consistent and reproducible way. You will learn about facts, features and the future of the OBS. But first let me introduce myself

Axel Braun docb@opensuse.org

Open Build Service The easy way to packages So what is the OBS all about? What use is it. Which problem does it solve? One that sounds rather simple but is actually something that is hard to overcome in an open and free environment.

How do you get all this nice Free and Open Source Software our community produces to the users. How can I install Gimp, Firefox or Libreoffice if I want to use it. How can a project like Gimp make sure different people on different architectures, platforms, distributions, get the right stuff.

In the good ol' days this wasn't really a problem In the good ol' days this wasn't really a problem. Everyone was a long haired, bearded, piece lovin' software developer. © - usesthis.com - CC-BY-SA 2.5 http://usesthis.com/images/portraits/richard.stallman.jpg

010011 So developers just released code to their “users” which where also developers. The “users” compiled the code for their system -> done. The sun was shining, birds where singing and everybody was happy.

Various sources have various ways to build and install ¿¿ whatever.tar.gz ?? docb@T520:~> ./configure docb@T520:~> make docb@T520:~> make install Various sources have various ways to build and install The nightmare: Dependencies docb@T520:~> pip install

and the average computer user knows as much about software development as you know about piloting an airplane.

Thats why the FOSS community came up with the concept of packaging. A developer does not only write the code but also hands it pre-compiled in a “package” to the users. The user then utilizes a so called package manager to install the packages.

For the developer this means that he has now the obligation to produce a lot of packages for a lot of different distributions, versions and architectures.

010011 And that is where the build service comes in. It makes it easy for developers to produce packages.

Open Build Service Meat and Potatoes So now that you know what the Open Build Service is all about, let's explore the fundamental parts of it. Let's have a look at the building blocks of the OBS.

Formats DEB RPM PKGBUILD Packaging formats - The way the individual files are bundled together. The OBS supports three different package formats. DEB, RPM and PKGBUILD. This covers the majority of todays Linux distributions.

Distributions Linux distributions - The way individual packages are bundled together. The OBS supports building for all the major Linux distributions in their various versions and flavours.

Architectures PPC ARM MIPS X86 IA64 S390 HPPA Instruction Set Architectures (ISA) – The way how to program a computers hardware. The OBS of course supports the nowadays so popular x86 ISA (Intel/AMD) and it's 64bit variant but also up and coming ISAs like ARMv7/v8. For the enterprise Linux market the OBS also supports more exotic ISAs like S390(IBM zSeries) or PowerPC.

Output Output – The way users get your packages. Sometimes you want to provide individual packages but most likely you bundle packages into a repository. And you also might want to put repositories onto a DVD or produce a Appliance for your software that you can run in the cloud. The OBS can deliver all of that.

Open Build Service Jumpstart So now that you know what the Open Build Service does, let's explore the how. Let's have a look at the features of the OBS.

Overview Hermes Web UI Web UI Command Line Client Your Client Installer (YaST,etc.) OBS API (api.opensuse.org) Notification Server Mirror Interface User controller, Database, Search, ... Storage This is a schmeatic overview of all the components of the OBS. Below you have the workers who do all the heavy lifting and compiling and the storage component which stores all the data. Both of them are controlled by the backend server which exposes most of it's functionality via the OBS API to different clients. On the left side you have the notification system and on the right side the mirror interface which delivers the data to the user clients. Build Host Build Host Build Host Build Host Build Host Build Host Backend

Project Model The main organizational element of the OBS are projects. Projects contain a set of packages (sources) and define which distributions and architectures to build against. Every user has one starting point: His home project

Project Model – Build for repositories Projects are stackable. That means a project can build against other projects. So for the OBS all the supported distributions I showed you, are just another project.

Collaboration SUBMIT FORK FIX This project model allows us to provide all the tools to work collaboratively and harness the power of the open source development model. Fork – Fix – Submit just feels natual for every open source developer.

API Another cool feature of the Open Build Service is it's RESTFul API and various clients that connect to it. For instance the web interface I kept showing you commands the OBS over the API, so does the commandline client, the mobile client and various other applications.

Interconnect The API also makes it possible to access remote OBS instances. We call this interconnect. You can have different OBS instances for different architectures or distributions. You could have proprietary sources that must not leave the company built against a public distribution. All the collaboration tools also work with interconnected OBS instances. For instance, our reference server for the openSUSE project, build.opensuse.org, has connections from 90 other instances.

Open Source And of course the Open Build Service is free software licensed under the GNU General Public License (GPL). It’s available for you as source, packages and as easily deployable appliance. You are free to use, fix, extend and re-use the code.

Open Build Service Lets start That are the main features of the OBS. Let's look at how we are developing it and who is using it.

1 Creating Packages Create a package in your own home project on the reference server You're going to learn to create a package in your own project on the reference server

Building Packages 2 Build a package locally on your laptop and on the reference server I'm going to show you how to build your package, locally on your machine and on the reference server

Collaborating on Packages 3 Branch a package Submit a merge request Review a merge request

Open Build Service Some statistics That are the main features of the OBS. Let's look at how we are developing it and who is using it.

Reference Server build.opensuse.org Now of course everyone can run their own Open Build Service. You can download all the components from openbuildservice.org, set up the frontends, API and backend, import the distributions you want to build for and take care of all the nitty gritty details. Or if you would like to avoid all that you can simply use the reference server the OBS team implements for the openSUSE project at build.opensuse.org This reference implementation of the OBS is used by almost 30.000 users that are building over 140.000 packages for 21 base distributions on 6 architectures. It also serves as the tool to develop and maintain the openSUSE Distribution. build.opensuse.org

Users There is one open source project, openSUSE, and one Enterprise Linux company, SUSE, that is using the OBS to develop their complete distributions. They also deliver maintenance updates through it.

Users Distribution development, Maintenance Updates Open Source Communities Add-Ons: Driver Developer and ISVs Researchers/Universities Administration Teams

Numbers (from build.opensuse.org) Confirmed Users: >40.000 Packages: >205.000 Projects: >2.500 Package builds per day: > 51000 Build farm: ~40 hosts, ~250 workers Storage: Sources: 8 TBytes Binaries: 19 TBytes

Support Community opensuse-buildservice@opensuse.org Irc: #opensuse-buildservice on freenode Professional http://www.open-build-service.org/contact/ B1 Systems (L3 backing by SUSE)

Kudos: The development team Henne Vogelsang Adrian Schröter Stephan Kulow Michael Schröder

Open Build Service Features Where is it going? So now that you know what the Open Build Service does, let's explore the how. Let's have a look at the features of the OBS.

Future 2.6 Release (November 2014) Binary tracking support (history of past releases) Debian Live Media support Request prioritization 2.7 Release (early 2015) Rework ‘download on demand’ support 3.0 Release (???) Create administrator tool for replicating OBS resources More package formats, other operating systems

Learn more about the Open Build Service www.openbuildservice.org I hope this workshop was worth your time and you picked up how to create, build and collaborate on packages. If you have further questions, suggestions or feedback, don't hesitate to contact me or anyone else from the OBS team. Thank you for your participation!

SUSE Studio And now for something completely different... So now that you know what the Open Build Service does, let's explore the how. Let's have a look at the features of the OBS.

SUSE Studio SUSE Studio is another project of the openSUSE community More than 500.000 users ~1000 builds per day SUSE Studio is another project of the openSUSE community

SUSE Studio Create Appliances - integrated with OBS Share - Appstore for appliances Test - online - update modified files Integration with OBS allows integration of (own) repositories Clone and adapt appliances from Appstore Testdrive and fix!

SUSE Studio Private sandpit / public gallery

SUSE Studio Thank you! Thank you!