Installing CloudBees CD (CloudBees Flow) is straightforward when evaluating the product, but there are several factors to consider when setting up an enterprise-scale deployment. Separating the different components is important to prevent contention for resources. While it’s always possible to switch from one setup to another as load increases, thinking ahead and separating the components provides flexibility and scalability.
Note: See the CloudBees CD documentation for the installation guide and other documentation.
CloudBees CD consists of the following components:
- CloudBees CD server – a Java application server that manages resources, issues commands, generates reports, etc.
- Database – used by the server to store metadata for the objects that make up a CloudBees CD deployment. See the installation guide for supported databases.
- Web server – an Apache server that provides a web interface to access CloudBees CD.
- Repository server – a machine where artifacts are stored by processes run via CloudBees CD.
- Agents – CloudBees CD components that run on each machine where job steps can execute.
For an evaluation of CloudBees CD, install everything on one machine. When running the installer, choose the “Express Server” option and follow the instructions to complete the install.
Note: By default, a built-in database is installed with the product. This database is meant for evaluation purposes only. When moving to development or production, a supported database must be used. Note that any evaluation against a production database will require a production or evaluation license file provided by Electric Cloud.
A “development” or “test” CloudBees CD setup isn’t expected to undergo heavy load, but rather used as a staging area while developing CloudBees CD procedures before moving to production. This is often an intermediate stage before moving to an enterprise deployment. In this case, it is recommended to separate the database to another machine. When running the installer on the machine running the CloudBees CD components, choose the “Express Server” option and follow the instructions to complete the install. Install a supported database on a separate machine and configure the CloudBees CD server to use that database (see the installation guide for details on how to do this).
Note: A development/test setup is often acceptable for smaller size organizations. It isn’t necessary to move to an enterprise setup if this setup proves sufficient even at scale.
Separating the different components of a CloudBees CD installer is important to prevent contention for resources. The following setup separates all components onto separate machines. If there are certain components of the installation that are known to be used less frequently, they can be combined onto a single machine.
- Machine 1: CloudBees CD server
- Machine 2: Database
- Machine 3: Web server and agent – this agent is used to retrieve log files for users to view via the UI
- Machine 4: Repository server and agent – this agent is used for the repository server to communicate with the CloudBees CD server
- Machine 5: Agent (optional) – a dedicated agent used by the CloudBees CD server to run “common” steps