Architecture for CloudBees CI on traditional platforms

CloudBees CI on traditional platforms consists of the following components:

Table 1. Components of CloudBees CI on traditional platforms

Component

Description

Client controller (formerly known as Client Master)

A type of controller that uses CloudBees’ proprietary tools and enterprise features to provide enhanced functionality for coordinating builds. A client controller is specific to CloudBees CI on traditional platforms.

Client controllers are installed manually. A CloudBees CI on traditional platforms installation may consist of one or more client controllers.

Client controllers offer the following functionality:

  • Role-based access control with the following default roles: administer, develop, and browse

  • Sophisticated team authorization strategies with client controllers and Folders

Operations Center

An instance that provides centralized management of client controllers and a central view into a CloudBees CI cluster.

The Operations Center provides the following management functionality for client controllers:

  • Security and role-based access controls, which control access to different client controllers, as well as various Pipeline projects and jobs on each client controller

  • Credentials typically used to access secured external resources in Pipeline projects and jobs

  • Access to shared build agents

Having client controllers connected to the Operations Center is appropriate for small to medium companies running CloudBees CI on traditional platforms.

Build agent

A computer that handles the tasks of running builds, at the direction of a controller. Within the context of a CloudBees CI cluster, a build agent can be a shared resource for client controllers. A build agent can also be dedicated to a specific controller.

Distributed build environment with CloudBees CI on traditional platforms
Figure 1. Distributed build environment with CloudBees CI on traditional platforms

The simplest CloudBees CI on traditional platforms installation consists of a single client controller instance to coordinate builds for a single project. From this client controller, install and configure build agents. Build agents perform the project building work on separate virtual machines from the client controller.

A newly installed client controller is configured by default to execute the project build work the same way a build agent is. However, for maximizing the CloudBees CI on traditional platforms implementation, CloudBees recommends dedicating a client controller for coordinating build projects and using the build agents to perform the build work on separate virtual machines.

CloudBees recommends creating a distributed build environment by installing separate client controller and build agents. The distributed build environment maintains the security and integrity of the client controller and maximizes the client controller’s performance. Shared agents can also be configured to share build agents across multiple client controllers.

As the complexity of your organization’s CI/CD requirements and build projects increases, CloudBees recommends installing additional client controllers to your CloudBees CI environment.

CloudBees recommends adding more client controllers for each additional build project. This prevents build speed issues on your existing client controller/s. This also enables each client controller to use a different set of plugins on each of the different client controllers, making them easier to administer.

However, once your environment needs more than one client controller, CloudBees recommends installing Operations Center. Operations Center provides a centralized view of the client controllers in your environment.

Without Operations Center, these features would need to be managed individually on each client controller.