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.

ABF Major Entities

ER-diagram of ABF is shown below. Florist Jakarta Toko Bunga Murah


ABF ERD

The major actors in ABF are users who can be joined into groups. Every user and every group has his personal repository where he can build and publish his projects. A project contains source code and other files necessary to build a software product. Source code and textual files are stored in Git repository, while binary files are stored in a separate file store (and Git repository contains a special file with links to binary files at that store).

Besides personal repositories, projects can be built and published into repositories of Linux distributions developed in ABF. In terms of ABF, every distribution is represented by a platform and platform repositories correspond to distribution repositories. Note that in order to build a project for particular platform repository, one should explicitly assign that project to the target repository (and this can require corresponding privileges). For convenience, ABF allows to associate certain branch of Git repository with particular platform. Finally, for every platform its administrator sets a set of hardware architectures for which packages are built by default.

Functionality of ABF

For developers:

For maintainers:

For platform owners and developers:

For administrators:

For everyone:

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