Skip to content

Latest commit

 

History

History
58 lines (36 loc) · 2.75 KB

README.md

File metadata and controls

58 lines (36 loc) · 2.75 KB

LightBuildServer

LightBuildServer for building rpm and deb packages or run Continuous Integration scripts, using linux containers.

LightBuildServer is developed as Open Source software under the BSD 3-Clause License.

This is still work in progress!

For more details, please see the LightBuildServer Wiki!

Goals

The goal is to have a light weight build server, that can be easily installed on any Linux operating system, and allows people to quickly build packages for all supported Linux distributions. It also allows running scripts for Continuous Integration or Nightly Tests.

This project will be kept simple, by using linux containers (lxc) for building on various Linux distributions, and using Github (or any other git repo server) for managing the package sources.

The goal is to have a simpler version of the OpenBuildService, which is quite complex to setup, and does not like uptodate debian package conventions, etc.

Not the goal

The goal is not to create a replacement for the openSUSE Build Service: This project aims towards people compiling their own packages or running their CI scripts on their own instance of the LightBuildServer.

Implementation

The web interface and the server itself are being implemented in Python3 and with Django.

The server uses the database backend of Django (Postgresql, Sqlilte, MySQL) for the storage of users and projects, and build queues.

The generated packages are delivered from the server directly, via apt or yum repositories.

We are using Incus/Docker to build the packages or run the CI scripts.

See in action

You can see a LightBuildServer in action at https://lbs.solidcharity.com.

You can see:

For each project, there is a link at the top, directing you to the setup script and/or packaging instructions for that project.

License

the LightBuildServer is published with the BSD 3-Clause License.

Setup for Development

You can run make quickstart to create a Python3 virtual environment, install all required packages, and create the database.

You can run make initdemo for loading initial users, projects and packages for development and testing.