Continuous Packaging with Project-Builder.org

Continuous Packaging with Project-Builder.org

Par Bruno Cornec
Date : samedi 24 septembre 2011 14h50
Durée : 45 minutes
Langue : Français
Tags : build packaging perl

Vous pouvez trouver plus d'information sur le site du présentateur :


With the increasing role of FLOSS in enterprise, some development techniques linked to it also know a momentum. Continuous integration (shared sources repository, automatic build, automatic test) is such an example. The new process called continuous packaging should still be promoted and developed as best practice for industry.

Project-Builder.org is a new GPL v2 tool designed to help projects developers producing easily packages for multiple OS and architectures, on a regular basis, from a single source repository.

90% of users and admins prefer to install packages rather than tar files or content from a [D]VCS. But packages don't necessarily follow the development stream of projects, to package alpha, beta. Giving the possibility for projects to distribute seamlessly packages for whatever step of their development is clearly a gain for the whole community.

The various aspects covered by the tool are:
- only produce software packages (ease integration in deployment servers, provide inheritance mecanisms, and Virtual Machines (VM) or Environments (VE))
- ease the various steps of solution life cycle (controlled impact of installation/uninstallation, dependencies management, identical deliveries up to the customer, announce management, web site delivery, metadata management)
- help new projects in the provisioning of packages (templates and skeletons for the various supported OS, generated structure, help in VM/VE build)
- Avoid code or metadata duplication, as well as has no impact on the original project (macro system, separate repository)
- Neutral in term of Unix environment (repository, system, package type agnostic)

These features help reducing the development cost by providing a process, method and tools to realize continuous packaging during the whole project life cycle.
Today the tool supports:
- Muliple repository (none - aka tar balls, SVN, CVS, Git, Mercurial, SVK...)
- Multiple systems ((RPM Linux - Red Hat, SuSE, Mandriva, ..., deb Linux - Debian, Ubuntu, ..., ebuild - Gentoo, pkg Solaris/OpenSolaris, ...)
- Multiple build environments (local, VM - QEMU, KVM, ..., VE - rpmbootstrap, mock, rinse, debootstrap, ...)
- Multiple repository manager (yum, urpmi, apt, ...)

and this at various phasis (development, test, integration, delivery)

It aims at becoming a tools for the vcs-pkg.org initiative
It's today used for projects as diverse as FOSSology, MondoRescue, LinuxCOE, GOsa², itself, ...


Présentation suivie par: Jérôme Fenal, Mathieu Géhin, Bruno Cornec, marc chantreux (‎eiro‎), Gregory Boissinot, Arnaud Grausem (‎v-eye‎), Aurélien Bompard (‎abompard‎), Haïkel Guémar (‎number80‎),