CloudBees Build Acceleration quick start

7 minute read

What is CloudBees Build Acceleration®?

CloudBees Build Acceleration from CloudBees, Inc. is a high-performance, drop-in replacement for GNU Make, Microsoft NMAKE, and Visual Studio build facilities that dramatically reduces software build times. Unlike other parallel build tools, CloudBees Build Acceleration guarantees that builds will not fail because of incomplete dependencies, thanks to patented conflict detection and correction algorithms. So your build results—including the build log—are identical to those from serial builds, but they happen with the speed of parallel builds by distributing them over numerous inexpensive machines on a LAN or a public cloud such as Amazon EC2 or Google Cloud Platform. You can also use CloudBees Build Acceleration to accelerate static analysis (such as the Coverity, Klocwork, and Parasoft tools), unit testing, and linting tasks.

CloudBees Build Acceleration has two primary user-facing parts: Electric Make (”eMake”)—the command-line front end to the cluster, and the Cluster Manager web UI—a web-based dashboard for managing the cluster and viewing various types of cluster activity. Also, for Visual Studio, CloudBees Build Acceleration includes an add-in that lets you execute builds using the cluster directly from the Visual Studio IDE. In most cases, switching from another build tool to CloudBees Build Acceleration is as easy as replacing make with emake.

Installation prerequisites

Before installing CloudBees Build Acceleration, you must ensure that your hardware architecture is compatible and that certain software such as library packages is installed.

Windows prerequisites

  • Each host to run CloudBees Build Acceleration software must be x86-64 compatible.

  • NTFS is required.

  • Registry mirroring is supported on 64-bit machines only if you use 64-bit eMake and 64-bit agents.

Linux prerequisites

  • Each host to run CloudBees Build Acceleration software must be x86-64 compatible.

  • SELinux must be disabled. To disable SELinux, open /etc/selinux/config and change SELINUX=enforcing to SELINUX=disabled.

  • The required packages must be installed on each host that will run the Cluster Manager or agents.

    The installer installs missing prerequisite libraries after prompting you to confirm. If installation of these libraries fails, the installer displays the commands that you enter to install them afterward. For a list of prerequisite libraries on your Linux platform (as well as the commands to install them), see Linux prerequisites.

How do I create a cluster?

You must install the Cluster Manager on a server, then enable licensing in the Cluster Manager, and then install agents on other servers in the cluster to run commands on behalf of eMake.

Choose a server for the Cluster Manager

Before installation, you must choose a server to run the Cluster Manager. Because the Cluster Manager distributes build jobs to other machines, choose a server that is always accessible on the LAN or public cloud by all potential developers.

Install the Cluster Manager

Install using the GUI (Windows example)

  1. Download CloudBees Build Acceleration from https://downloads.cloudbees.com/cloudbees-build-acceleration/ or https://www.cloudbees.com/products/accelerator/trial.

  2. Double-click the installer file and follow the prompts.

    • Choose Cluster Manager and click Next.

    • When asked for the installation type, choose Express (to accept the defaults) or Custom (to specify non-default values for the installation directory, Cluster Manager host name and port numbers, and other settings).

  3. Click Finish to exit the installer.

Install using the console (Linux example)

  1. Download CloudBees Build Acceleration from https://downloads.cloudbees.com/cloudbees-build-acceleration/ or https://www.cloudbees.com/products/accelerator/trial.

  2. Make sure that the library packages that are listed in Linux prerequisites are installed.

  3. As root, enter the path to the installer file to start the installation. For example, if the installer file is in the current directory, enter

    ./CloudBeesAccelerator-<version>.<buildnumber>-Linux-x86_64-Install
  4. Follow the prompts.

    • Choose 3 (Cluster Manager).

    • When asked for the installation type, enter 1 for Express (to accept the defaults) or 2 for Custom (to specify non-default values for the installation directory, Cluster Manager host name and port numbers, and other settings). An Installation complete message appears when the installation is finished.

Import your license

CloudBees Build Acceleration is licensed based on the number of agents in use and, for most licenses, the number of builds that are running concurrently. If you have not received your license file, go to the CloudBees technical support site at https://support.cloudbees.com/ and submit a support request.

To use the trial version, you must use the 30-day license key sent to the email address that you entered when you downloaded the software at https://www.cloudbees.com/products/accelerator/trial. If you have not received it within 24 hours, first check your spam folder, and open a support ticket at https://support.cloudbees.com/.

  1. Sign in to the Cluster Manager web UI at https://<server_hostname_or_IP> using the default administrator user name admin and password changeme.

    You should change the default password as soon as possible. (If the Cluster Manager web server does not use port 443, append :<port> to the host name or IP address.)

    A security warning appears because of an invalid certificate. If you want to eliminate this warning, replace the self-signed Apache certificate with one that is signed by a certificate authority. For details, see Installing an Apache Server Certificate.

  2. Follow the prompts to proceed to the Home page.

  3. Click Import License.

  4. Click Choose File to browse for your license file, then click Upload File, and then click OK.

How do I install agents on machines in a cluster?

Install agents on each agent machine

Complete the following steps on each agent machine in the cluster.

Install using the GUI (Windows example)

  1. Copy the installer file to the machine.

  2. Double-click the installer file and follow the prompts.

    • Choose Agent.

    • When asked for the installation type, choose Express (to accept the defaults) or Custom (to specify non-default values for the installation directory, Cluster Manager host and port number, number of agents to be enabled on this machine, and other settings).

    • When asked for the Cluster Manager host, enter the host name or IP address of the server running the Cluster Manager software.

  3. Click Next and then click Finish to exit the installer.

Install using the console (Linux example)

  1. Copy the installer file to the machine.

  2. Make sure that the library packages that are listed in Linux prerequisites are installed.

  3. As root, enter the path to the installer file to start the installation.

    For example, if the installer file is in the current directory, enter

    ./CloudBeesAccelerator-11.2.0.88023-Linux-x86-Install
  4. Follow the prompts.

    • Choose 1 (Agent/EFS).

    • When asked for the installation type, enter 1 for Express (to accept the defaults) or 2 for Custom (to specify non-default values for the installation directory, Cluster Manager host and port number, number of agents to be enabled on this machine, and other settings).

    • When asked for the Cluster Manager host, enter the host name or IP address of the machine running the Cluster Manager software.

An Installation complete message appears when the installation is finished.

How do I run a build?

Windows example

  1. On the Cluster Manager machine or an agent machine, start Visual Studio. (Either of these machines has the eMake build tool installed.)

  2. Click ACCELERATOR > Settings > Basic.

  3. Enter the host name or IP address of the machine running the Cluster Manager software into the Cluster Manager field and click OK.

  4. Click FILE > Open > Project/Solution, browse to the .sln file for a project, and click Open.

  5. Click ACCELERATOR > Rebuild Solution to start the build.

    The Output pane in Visual Studio displays the results of the build.

Linux example

  1. On the Cluster Manager machine or an agent machine, go to your project working directory (your source code location). (Either of these machines has the eMake build tool installed.)

    For example, enter:

    cd /home/bill/proj_q3
  2. (Optional) Add the path to the emake executable to your PATH environment variable. To do so, enter:

    source /opt/ecloud/i686_Linux/conf/ecloud.bash.profile
  3. Start eMake by entering the emake command and the --emake-cm=<hostname_or_IP> option, which specifies which Cluster Manager to use.

    For example, enter:

    emake --emake-cm=dev_cluster2
    If you did not perform step 2 above, you must provide the full path to the emake executable as follows: /opt/ecloud/i686_Linux/bin/emake --emake-cm=dev_cluster2.

    If your source code, output files, and build tools are in different directories, specify those directories by adding the --emake-root=<path1>:<path2> … :<pathN> option. For example, enter:

    emake --emake-cm=dev_cluster2 --emake-root=/home/bill/proj_q3:/src/foo:/src/baz

    A message Starting build: <build_number> appears. For example, Starting build: 1. When the build is finished, a message such as the following message appears:

    Finished build: 1 Duration: 0:41 (m:s) Cluster availability: 100%

    Cluster availability: 100% indicates that the cluster was fully available for the entire build.

  4. Clean your build output tree.

    Clean the output (for example, by using make clean) to prepare for a fully accelerated build. Do not delete the eMake history file (emake.data) or the eMake asset directory (.emake).

  5. Run an eMake accelerated build.

    Run eMake again, from the same directory, using the same options you used the first time:

    emake --emake-root=/home/bill/proj_q3:/src/foo:/src/baz

How do I see data about builds and users?

Open the Cluster Manager web UI at https://<hostname_or_IP>/. (If the web server does not use port 443, append :<port> to the host name or IP address.)

Then, for

  • links to documentation and other assistance, instruction for novice users, and real-time charts for agent usage and build durations, click the Home tab.

  • a list of builds and other build information, click the Builds tab.

  • a list of agents participating in builds and information about those agents, click the Agents tab.

  • reports using many types of analytics about your build cluster and several types of data visualization such as scatter plots and pie charts, click the Reports tab.

  • messages from the Cluster Manager, agents, and eMake, click the Messages tab.

  • status for Azure Services Platform, Amazon EC2, Google Cloud Platform, or Kubernetes instances that are active (that is, instances that are running builds), click the Cloud tab.

  • details about users, click the Administration tab.

If your Cluster Manager is hosted on an Amazon EC2 instance, you might need to open its web server port by configuring the associated security group and network access control list (network ACL) in your Amazon EC2 dashboard. For details, see https://aws.amazon.com/premiumsupport/knowledge-center/connect-http-https-ec2/.

How do I get more information?

For basic CloudBees Build Acceleration terms and concepts, explanations of the relationships among the parts of CloudBees Build Acceleration, and more information about the Cluster Manager web UI, see CloudBees Build Acceleration Terms and Concepts. For a list of supported platforms and system requirements, detailed procedures for GUI, command line, and silent installations, and configuration procedures, see the CloudBees Build Acceleration Installation Guide and the CloudBees Build Acceleration Configuration Guide. For details about eMake, see the Electric Make User Guide.

How do I see how my build performed?

How do I get help?

For assistance, go to the CloudBees technical support site at https://support.cloudbees.com/ and submit a support request.