ABF

From Rosalab Wiki
Revision as of 21:44, 24 May 2012 by Juliette (Talk | contribs) (References:)

Jump to: navigation, search

ABF (Automatic Build Farm) is a distributed environment for building and maintaining software packages and constructing distributions from them. ABF is designed to support different kind of target platforms and distributions providing an interface for building the same project for different platforms.

Functionality of ABF Beta (March 2012)

For developers:

  • git repository;
  • lightweight project management utility;
  • project wiki;
  • possibility to edit files directly from the WebUI;
  • flexible permission management (on per-user and per-group basis);
  • possibility to make project public (accessible in read-only mode for all users) or private;
  • possibility to add comments for project commits;
  • possibility to get file diffs, logs and blames using WebUI;
  • possibility to fork any existing public project.

For maintainers:

  • importing project source code from src.rpm package using WebUI;
  • building project into your own repository (which can be made accessible for other ABF users);
  • handy task monitoring which allow to track status of all building projects;
  • complete build logs;
  • possibility to retrieve and locally install a built package for testing purposes before publishing it to the common repository;
  • simultaneous builds for several hardware architectures and distributions;
  • possibility to choose repositories that should be picked up during the build to resolve package dependencies;
  • possibility to cancel a build task;
  • an easy way to create and manage private repositories;
  • isolated and safe builds on the distributed set of build nodes.

For platform owners and developers:

  • maintenance of your own distribution using ABF;
  • repository management (addition/exclusion of packages);
  • possibility to create ISO images.

For administrators:

  • user management (in particular, possibility to 'ban' users);
  • complete logs of all system operations.

For everyone:

  • convenient and clear lightweight Web UI;
  • possibility to create newgroups and projects and participate in the existing ones;
  • email notifications about different events with flexible setup;
  • activity feed in Web UI to track all events in projects where you are involved;
  • public user profile with his contact info and list of public projects.

Besides functionality described above, ABF Beta has experimental support for building a project with the subsequent rebuilding of all projects that depend on it. This allows to check if modifications made to the package will break other packages in the repository.

ABF is developed by ROSA from scratch and implemented using Python and Ruby on Rails. Beta version of ABF has Web UI only.

References:

ABF Web UI (registration form)

ABF Documentation