[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Modern Debian packaging system for DevOps: does it exist?



On Wed, May 13, 2015 at 07:14:36PM +0300, Исаев Виталий wrote:
> Hello! I'm looking for a convenient wrapper of standard Debian packaging
> toolchain in order to automatize the deployment process. We use Ubuntu and
> Debian, and the most part of code is written in C++, therefore we need to
> compile and build binary debs. Currently our infrastructure consists of:
> 
> 1. Gitlab;
> 2. Isolated build environment inside Docker containers (where we
>    usually do `git clone && mk-build-deps && debuild`);

Either:

After a clone:

  gbp buildpackage --git-pbuilder

Or:

  gbp buildpackage --git-builder='sbuild'

(gbp is git-buildpackage)

> 3. Aptly;
> 4. Self-written Python scripts linking all these components;
> 
> At the moment we're trying to collect more information about existing
> packaging systems. Our self-written scripts no longer meet our needs. Now we
> have faced a choice: either we move our deployment process into third-party
> packaging system (if we find the good one), or we get involved into the
> development of own full-featured system.
> 
> I would like to put an emphasis on the most in-demand features:
> 
> 1. Lightweight isolated environment (hardware virtualization is not
>    suitable);

sbuild / pbuilder (practically: cowbuilder). It's not exactly isolation.
But a chroot is good enough for my packages. pbuilder is simpler to set
up and use, but sbuild allows more flexibility.

> 2. Git support;
> 3. RESTful API (in order to provide clear integration with git hooks
>    that will launch build process);
> 4. Web interface;
> 5. Support for a different build backends (Debian default toolchain |
>    CPack);
> 6. Binary package repository integration;
> 7. Package version control (support for builds from different branches,
>    build number incrementation, keep changelog consistent, etc.);
> 8. Email notification;
> 9. Privacy (ability to deploy the system on the own facilities);

Mini-buildd is nice if it fits your workflow. We started using it, but
eventually moved on. It's a great start if you have no idea what are all
the different bits.

We're currently using scriptology based mostly around buildbot. Using it
to build both RPMs and debs. Currently still using the default web
interface.

-- 
Tzafrir Cohen         | tzafrir@jabber.org | VIM is
http://tzafrir.org.il |                    | a Mutt's
tzafrir@cohens.org.il |                    |  best
tzafrir@debian.org    |                    | friend


Reply to: