CloudBees CD/RO Lexicon

This lexicon is a collection of terms and definitions used by CloudBees.

A

CloudBees CD/RO server access control specifies how users and groups of users can access CloudBees CD/RO objects:

Access Control Entry. Determines if a particular user can perform a particular operation on a specified object. The list contains ACEs.

Access control list. A list of ACEs.

An actual parameter is an object that provides the value for a parameter, which is passed to a procedure when it is invoked. Actual parameters can be provided for jobs and nested subprocedures within a job. Actual parameters are different from "formal parameters": formal parameters define parameters a procedure is expecting, and actual parameters provide values to use at run-time.

"admin" is a special built-in user that has universal CloudBees CD/RO access. If you log in as admin, you can perform any operation in the system, regardless of access control limitations.

An agent is a CloudBees CD/RO component that runs on each machine where job steps can execute. The agent works under the CloudBees CD/RO server’s control to execute job steps, monitor their progress, and record information about their completion. A single agent process can manage multiple job steps executing concurrently on a single machine.

For each stage in a release pipeline, an entry gate controls when tasks can start. If the approvals are met, the process can proceed, and the tasks can be executed. The process can complete the stage and proceed to the next pipeline stage when the exit gate approvals are met.

An artifact is a top-level object containing artifact versions, a name template for published artifact versions, artifact specific properties, and access control entries to specify privileges.

An artifact key is an identifier for an artifact and the "key" component of the artifact name.

Container for project components or other output components that are produced for consumption by other projects or the main project to create a whole entity. Every stage in the application lifecycle produces and consumes artifacts.

An artifact version is a collection of 0 to N files that were published to an artifact repository.

B

The backing store is the directory on the repository server where artifact versions are stored. By default, the backing store is the <datadir>/repository-data directory in the repository installation—this default setting can be changed.

End result of a successfully completed Project.

CloudBees Build Acceleration is a software build accelerator that dramatically reduces software build times by distributing the build over a large cluster of inexpensive servers. Using a patented dependency management system, CloudBees Build Acceleration identifies and fixes problems in real time that would break traditional parallel builds. CloudBees Build Acceleration plugs into existing Make-based infrastructures seamlessly and includes web-based management and reporting tools.

C

cb-perl is a wrapper program installed as part of CloudBees CD/RO. When the cb-perl wrapper runs, it sets up the environment, finds and calls CloudBees CD/RO copy of Perl, and passes all of its parameters to Perl. cb-perl is currently based on Perl v5.32.1.

Nested step that appears as a substep in the Job Details page when a step is either of the following:

Compression reduces transfer time when publishing an artifact. However, compression also adds overhead when computing the compressed data. If files included in the artifact version are primarily text files or are another highly compressible file format, the benefit of reduced transfer time outweighs the cost of computing compressed data.

Continuous delivery (CD) is a DevOps software development practice that prepares software for release to testing and/or production environments. The goal of CD is that the software is always in a releasable state. Continuous integration (CI) can be combined with CD to implement an automated software delivery process.

The logical extreme of software development is to automate deployment to production for every change that passes automated tests, a DevOps practice called continuous deployment (CD). Continuous deployment is often confused with continuous delivery, but they are separate practices. Continuous deployment works for web services, but not for software such as mobile apps or in highly regulated environments that require manual deployment. Continuous delivery works for all kinds of software.

Continuous integration (CI) is a DevOps software development practice in which every time a developer commits any change, the entire application is built and automated tests are run against it. If the build or test process fails, the development team stops whatever they are doing and fixes the problem immediately. The goal of CI is that the software is always in a working state.

A credential is an object that stores a user name and password for later use. You can use credentials for user impersonation and saving passwords for use inside steps. Two credential types are available: stored or dynamic.

Custom properties are identical to intrinsic properties and when placed on the same object, are referenced in the same manner and behave in every way like an intrinsic object-level property with one exception: they are not created automatically when the object is created. Instead, custom properties can be added to objects already in the database before a job is started, or created dynamically by procedure steps during step execution.

D

CloudBees CD/RO deployment automation implements model-based continuous deployment that supports:

(Optional) Plain text or HTML description for this object. If using HTML, you must surround your text with <html> …​ </html> tags. Allowable HTML tags are <a>, <b>, <br>, <div>, <dl>, <font>, <i>, <li>, <ol>, <p>, <pre>, <span>, <style>, <table>, <tc>, <td>, <th>, <tr>, and <ul>.

A diagnostic extract is a log file portion from a job step, typically describing an error or interesting condition, extracted by a postprocessor and saved for reporting. The postprocessor usually places this information in an XML file in the top-level job workspace directory, and then sets a property that contains the file name. The CloudBees CD/RO postp postprocessor uses file names like diag-2770.xml, where "2770" is the unique identifier for the step. Other postprocessors you may use can have a different file name configuration.

Dynamic credentials are captured when a job is created. Dynamic credentials are stored on the server temporarily until the job completes and then discarded.

E

ec-perl is a legacy Perl wrapper, based on Perl v5.8.2, that was included with CloudBees CD/RO. In CloudBees CD/RO v2023.12.0, ec-perl was replaced with cb-perl, which is based on Perl v5.32.1. To resolve existing user automation, ec-perl and cb-perl now both use the same wrapper. However, there are some differences between the v5.8.2 and v5.32.1 wrappers.

ectool is the CloudBees CD/RO command-line application that provides control over the CloudBees CD/RO system if you prefer using a command-line interface rather than the CloudBees CD/RO web interface. Most functions that can be invoked through the CloudBees CD/RO web interface can be invoked using ectool.

ElectricSentry was the CloudBees CD/RO engine for continuous integration and could be used to work with multiple Source Control Management (SCM) systems. ElectricSentry was bundled with CloudBees CD/RO and automatically installed as part of the ECSCM plugin in the CloudBees project.

Before you can send an email notifier, you must set up and email configuration, which establishes communication between the CloudBees CD/RO server and your mail server.

After setting up the CloudBees CD/RO server and your mail server to communicate, you can send email notifications (notifiers). You can attach email notifiers to procedures, procedure steps, and state definitions.

An environment inventory is the state of an environment at any point in time. It contains items such as the environment name, the application mapped to the environment, the number of deployed artifacts in the application, when the artifacts were deployed, and the success or failure of the deployment to the environment.

A special intrinsic access control group that includes all users.

F

CloudBees CD/RO can be "clustered", or scaled horizontally, without downtime. Its unlimited clustering architecture provides fault tolerance for up to thousands of concurrent deployments and deploying software to multiple data centers. A CloudBees CD/RO clustered configuration requires these software components:

Two filter categories:

A formal parameter is an object that defines a parameter expected by a procedure, including its name, a default value, and an indication of whether the parameter is required. Formal parameters are different from "actual parameters": formal parameters define the kinds of parameters a procedure is expecting, and actual parameters provide values to use at run-time.

G

To communicate with a resource, workspace, or artifact repository server in another zone, a "gateway" must be created.

GitOps implements infrastructure as code (IaC) using a source code management (SCM) repository. The repository contains versioned deployment information required to create the desired infrastructure of a deployment environment.

A group defines a collection of users for access control purposes. A group can be defined externally in an LDAP or Active Directory repository, or locally in the CloudBees CD/RO server.

I

Impersonation is a mechanism that allows a job step to execute under a particular login account (the CloudBees CD/RO agent "impersonates" a particular user during the execution of that step). Impersonation is implemented using credentials .

A feature of the CloudBees CD/RO access control mechanism where access to a particular object is determined by the access control list for that object, and also by the access control lists of the object’s parent and other ancestors. Each object can be configured to enable or disable inheritance from its ancestors.

Intrinsic properties represent attributes that describe the object to which they are attached. CloudBees CD/RO automatically provides intrinsic properties for each similar type object within CloudBees CD/RO. For example: Every project has a description property that can be referenced with a non-local property path such as /projects/Examples/description.

J

A job is the output associated with invoking a CloudBees CD/RO procedure. A new job is created each time you run (execute) a procedure.

A job configuration is an object containing all parameter and credential information needed to run a procedure. A Job Configuration section is provided as part of the CloudBees CD/RO home page to make it easy for you to invoke your favorite configurations with a single mouse click. You can create job configurations in three ways:

This is the template used to determine the default name for jobs launched from the procedure. You can create a Job Name Template when you create a procedure. For example: In the Job Name Template field, you might enter:

After a procedure is executed, the resulting job contains one job step for each step in the original procedure. The job step records information about the procedure step execution, such as the command executed, the resource where it executed, execution time, and error information.

A directory (containing all files and subdirectories) allocated by CloudBees CD/RO for a particular job. Each job workspace is allocated as the child of a workspace root directory. See workspace.

A Jobs Quick View section is one of the facilities provided on the CloudBees CD/RO home page. This section allows you to define a category of jobs interesting to you (such as all running jobs or all jobs for a particular product version). Your home page can display the last several jobs in each category you define.

L

A group defined inside CloudBees CD/RO, as opposed to a group defined in an external repository. A local group can refer to both local and remote users, whereas a group in an external repository refers to users in that repository only. See group.

A user defined inside CloudBees CD/RO, as opposed to a user defined in an external repository. If a user defined in an external repository has the same name as a local user, the external user is not accessible. Local users are not visible outside CloudBees CD/RO. We recommend using external accounts whenever available, but you may need to create local users if you do not have a shared directory service or if you need special accounts to use for CloudBees CD/RO only. See user.

CloudBees CD/RO provides a log for events generated anywhere in the system, including jobs and workflows.

M

A matcher controls the postp postprocessor. Use matchers to extend postp with additional patterns if you find useful patterns in your log files undetected by postp. A matcher contains a pattern that matches lines in a step’s log and actions to carry out if/when the pattern matches.

A variant of the service-oriented architecture (SOA) architectural style, which structures an application as a collection of loosely-coupled services. In a microservices architecture, services should be fine-grained, and the protocols should be lightweight.

A misfire policy allows you to manage how a schedule resumes in cases where the normal scheduled time is interrupted. Available options are skip (all misfires are ignored and the job runs at the next scheduled time) and run once (after one or more misfires, the job runs at the soonest time that occurs within an active region). See schedule.

Model-based deployment supports application and deployment master component reuse to foster standardized, auditable practices and repeatable enterprise-wide deployment processes. It separates the deployment of application tiers or microservices into What, Where, and How …

O

A generic term used to identify items or entities across CloudBees CD/RO, for example, pipeline object, pipeline runtime object, report object, configuration object, and so on.

P

A property value passed into a procedure when it is invoked (at run time), and used by the procedure to change its behavior. Two types of parameters: actual and formal.

A pipeline models the software delivery process of scheduling jobs, executing workflows and coordinating dependencies among tasks. It connects individual processes into an end-to-end toolchain, creating a sequence of steps called stages. The pipeline invokes each individual process at the right stage of the process and connects the flow of data between tools, creating an automatic software delivery process and a complete record of releases that can be audited.

A plugin is a collection of one or more features that can be added to extend CloudBees CD/RO capabilities. Plugins are JAR files that are extracted into a CloudBees CD/RO plugins directory, adding new pages to the CloudBees CD/RO user interface, including a configuration page for the plugin.

Also known as "resource pool". A pool is a collection of resources. If a step specifies a pool name as its resource, CloudBees CD/RO can choose any available resource within that pool.

postp is a postprocessor included with CloudBees CD/RO. postp uses regular expression patterns to detect interesting lines in a step log. postp is already configured with patterns to handle many common cases such as error messages and warnings from gcc, gmake, cl, junit, and cppunit, or any error message containing the string "error." postp also supports several useful command-line options, and it can be extended using "matchers" to handle environment-specific errors. See matcher .

A postprocessor is a command associated with a particular procedure step. After a step executes, the postprocessor runs to analyze its results. Typically, a postprocessor scans the step log file to check for errors and warnings. Also, it records useful metrics such as the number of errors in properties on the job step, and extracts step log portions that provide useful information for reporting. CloudBees CD/RO includes a standard postprocessor called postp for your use and you can "extend" postp. See matcher.

A preflight build provides a way to build and test a developer’s changes before those changes are committed. A "post-commit" source tree is simulated by creating a clean source snapshot and overlaying the developer’s changes on top of it. These sources are then passed through the production build procedure to validate the changes work successfully. Developers are allowed to commit their changes only if the preflight build is successful. Because developer changes are built and tested in isolation, many common reasons for broken production builds are eliminated.

CloudBees CD/RO supports four privilege types (for access control and security) for each object:

A procedure defines a process to automate one or more steps. A procedure is the CloudBees CD/RO unit you execute ( run ) to carry out a process. A step in one procedure can call another procedure (in the same or different project), and this procedure then becomes known as a "subprocedure" (also known as a "nested" procedure). The step can pass arguments to the subprocedure.

Process as code (PAC) implements tasks using source code instead of manual operations (e.g., using a GUI). CloudBees CD/RO domain-specific language (DSL) implements PAC, enabling release orchestration and deployment modeling with versioned code that can be stored in a source control management system.

In Software Delivery Management, a product is any organized work effort that addresses a market need, either internal or external, and delivers an intentional user outcome. Long running in nature, the product lifecycle includes inception, validation, adoption, growth, and end of life.

A project is a top-level container for related procedures, workflows, schedules, jobs, and properties, which is used to isolate different user groups or functions, and also encapsulate shared facilities.

Project principal is a special user ID associated with each project. If a project name is xyz, the project principal for that project is project: xyz (with an embedded space). This principal is used when procedures within the project are run, so you can create access control entries for this principal to control runtime behavior.

A property is a name-value pair associated with CloudBees CD/RO objects to provide additional information beyond what is already built into the system. Built-in data is accessible through the property mechanism also. Two types of properties: intrinsic and custom . CloudBees CD/RO provides Intrinsic properties and allows you to create Custom properties.

A property sheet is a collection of properties that can be nested to any depth. The property value can be a string or a nested property sheet. Most objects have an associated "property sheet" that contains custom properties created by user scripts.

A proxy agent is an agent on a supported Linux or Windows platform, used to proxy commands to an otherwise unsupported agent platform. Proxy agents have limitations, such as the inability to work with plugins or communicate with ectool commands.

A publisher is the job that completes the operation for an artifact version.

Q

An inactivity period before starting a build within a continuous integration system. This time period allows developers to make multiple, coordinated check-ins to ensure a build does not start with some of the changes only—assuming all changes are checked in within the specified inactivity time period. This time period also allows developers to "back out" a change if they realize it is not correct. Quiet times can be configured individually for webhooks and polling triggers integrations.

R

The Release Command Center provides an overview of a single product or release across all of its phases. These phases include initial planning with tools (such as JIRA or Rally), targets, and tasks. It also displays high-level metrics for release activities such as release planning, continuous integrations, and deployments to environments, including microservice deployments. It combines the release data in CloudBees CD/RO with data from various external tools.

CloudBees CD/RO release orchestration enables control of the life cycle of multiple application or microservice releases, including dependencies between multiple applications or microservices. CloudBees CD/RO can manage all releases from one platform, supports any release methodology, and provides detailed status on releases and deployments.

Planned vs. actual release views allow a release manager to see a timeline of actual pipeline stages versus the planned timeline, as well as the percentage completion of each stage. These views also show the total time spent on each pipeline stage and the time spent in automated and manual activities.

The releases dashboard displays metrics across releases that offer insight into an organization’s throughput and that highlight potential bottlenecks in release delivery pipelines so that they can be addressed. Metrics include DORA deployment frequency (DF), mean lead time for changes (MLT), mean time to recover (MTTR), and change failure rate (CFR).

A resource specifies an agent machine where job steps can be executed. Resources can be grouped into a "pool", also know as a "resource pool." CloudBees CD/RO supports two types of resources:

The CloudBees CD/RO RESTful API is an alternative to DSL for web applications. It has predictable, resource-oriented URL endpoints, returns JSON-encoded responses, and uses standard HTTP response codes and methods.

S

An object used to execute procedures automatically in response to system events. For example, a schedule can specify executing a procedure at specific times on specific days. Three types of schedules are available: Standard, Continuous Integration, and Custom (custom schedules are typically continuous integration schedules that do not use the ECSCM plugin).

See microservice.

One type of shortcut is part of the CloudBees CD/RO Home page facility and records the location of a page you visit frequently (either inside or outside of CloudBees CD/RO), so you can return to that page with a single click from the Home page. Another type of shortcut is a context-relative shortcut to property paths. This shortcut can be used to reference a property without knowing the exact name of the object that contains the property. You might think of a shortcut as another part of the property hierarchy. These shortcuts resolve to the correct property path even though its path elements may have changed because a project or procedure was renamed. Shortcuts are particularly useful if you do not know your exact location in the property hierarchical tree.

CloudBees CD/RO SSO provides unified authentication, allowing authenticated users to bypass CloudBees CD/RO sign-in. CloudBees CD/RO SSO supports Kerberos, SAML, and OpenID Connect.

Workflows always have a single active state . Each state in a workflow, when it becomes active, can perform an action. A state can run a procedure to create a subjob or run a workflow definition to create a subworkflow—in the same way that procedures can call other procedures. One or more states can be designated as "starting" states to provide multiple entry points into the workflow. See state definition.

Workflow objects are split into two types: Definition objects and Instance objects. Definition objects provide the template for a running workflow instance. You create a new workflow by defining a Workflow Definition along with its State Definition and Transition Definition objects. When you run the workflow definition, the system creates a new Workflow object with an equivalent set of State and Transition objects that represent the run-time instances of the workflow definition.

Stored credentials are given a name and stored in encrypted form in the database. Each project contains a list of stored credentials it owns. These credentials are managed from the Project Details page.

Creating subprocedures is a way of "nesting" procedures. A step (from any procedure) can call a procedure from another project or the same project. The procedure called by the step then becomes a subprocedure.

This is a special object whose access control lists are used to control access to some CloudBees CD/RO internals. System objects are: admin, artifactVersions, directory, emailConfigs, forceAbort, licensing, , plugins, priority, projects, repositories, resources, server, session, and workspaces.

T

A way to categorize a project to identify its relationship to one or more other projects or groups. You can edit a project to add a tag. Enter a tag if you want to categorize or "mark" a project to identify its relationship to one or more other projects or groups. For example, you might want to tag a group of projects as "production" or "workflow", or you might want to use your name so you can quickly sort the project list to see only those projects that are useful to you.

Workflow objects are split into two types: Definition objects and Instance objects. Definition objects provide the template for a running workflow instance. You create a new workflow by defining a Workflow Definition along with its State Definition and Transition Definition objects. When you run the workflow definition, the system creates a new Workflow object with an equivalent set of State and Transition objects that represent the run-time instances of the workflow definition.

U

A user defines an account used to log into the system and control access to CloudBees CD/RO objects. A user can be defined externally in an LDAP or Active Directory repository, or locally in CloudBees CD/RO. See local user.

W

Release workflows are used to design and manage processes, for example, to create build-test-deploy lifecycles. CloudBees CD/RO supports defining an unlimited range of large or small lifecycle combinations.

Workflow objects are split into two types: Definition objects and Instance objects. Definition objects provide the template for a running workflow instance. You create a new workflow by defining a Workflow Definition along with its State Definition and Transition Definition objects. When you run the workflow definition, the system creates a new Workflow object with an equivalent set of State and Transition objects that represent the run-time instances of the workflow definition.

This is the template used to determine the default name of jobs launched from the workflow definition. For example (substitute your values):

A subtree of files and directories where job file data is stored. The term "workspace" typically refers to the top-level directory in this subtree.

A directory in which CloudBees CD/RO allocates job workspace directories. Each workspace root has a logical name used to refer to it in steps and procedures.

Z

A zone is a way to partition a collection of agents to secure them from use by other groups—similar to creating multiple top-level networks. For example, you might choose to create a developers zone, a production zone, and a test zone—agents in one zone cannot directly communicate with agents in another zone.