Changes between Version 17 and Version 18 of SettingUpBuildslave


Ignore:
Timestamp:
09/26/11 11:31:30 (13 years ago)
Author:
Samuli Seppänen
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SettingUpBuildslave

    v17 v18  
    11= Introduction =
    22
    3 OpenVPN project uses [http://buildbot.net/trac Buildbot] to help increase code quality and provide snapshot packages. Buildbot is a Python application that can work in either ''master'' or ''slave'' mode. The ''buildmaster'' is the core server which accepts connections from ''buildslaves'' and tells them what they should do. Typically the clients fetch latest sources and report any build problems to buildbot which in turn informs developers via email. In software engineering this is called [http://en.wikipedia.org/wiki/Continuous_integration Continous integration] and helps prevent build problems go unnoticed for extended time periods. The clients (buildslaves) can and should run on a variety of hardware / OS platforms. For example, a buildbot setup might look like this:
     3OpenVPN project uses [http://buildbot.net/trac Buildbot] to help increase code quality. Buildbot is a Python application that can work in either ''master'' or ''slave'' mode. The ''buildmaster'' is the core server which accepts connections from ''buildslaves'' and tells them what they should do. Typically the clients fetch latest sources and report any build problems to buildbot which in turn informs developers via email. In software engineering this is called [http://en.wikipedia.org/wiki/Continuous_integration Continous integration] and helps prevent build problems go unnoticed for extended time periods. The clients (buildslaves) can and should run on a variety of hardware / OS platforms. For the server (buildmaster) the OS choice is largely irrelevant.
    44
    5  * 1 buildmaster running whatever OS
    6  * 1 buildslave running Debian Lenny (i386)
    7  * 1 buildslave running Debian Lenny (amd64)
    8  * 1 buildslave running Ubuntu 10.04 (i386)
    9  * 1 buildslave running Ubuntu 10.04 (amd64)
    10  * 1 buildslave running Fedora13 (i386)
    11  * 1 buildslave running Fedora13 (amd64)
    12  * 1 buildslave running CentOS 5.5 (i386)
    13  * 1 buildslave running CentOS 5.5 (amd64)
    14  * 1 buildslave running OpenBSD 4.7 (i386)
    15  * 1 buildslave running NetBSD (sparc64)
     5As buildbot is a general-purpose (build) automation tool, it can also be used to automatically build packages for each buildslave architecture and then push them to a central repository for users to download. However, this adds significant amount of complexity and is prone to breakage. Therefore other means are used now to provide snapshots. It would be fairly easy to integrate code checking tools into the build process.
    166
    17 This setup allows automatic notifications of build failures on ''any'' of those platforms. As buildbot is a general-purpose (build) automation tool, it can also be used to automatically build packages for each buildslave architecture and then push them to a central repository for users to download. It's also trivial to integrate code checking tools into the build process.
    18 
    19 As can be seen from the above list, the number of buildslaves can easily get out of hand, so the project can make use of ''your'' help - see below for details.
     7As the number of buildslaves can easily get out of hand, the OpenVPN project can make use of ''your'' help - see below for details.
    208
    219Buildbot is described in more detail in the [http://buildbot.net/buildbot/docs/0.7.12/ Buildbot manual].