This lexicon is a collection of terms and definitions used by CloudBees.
In CloudBees CD, an access control list (ACL) determines if a particular user can perform a particular operation on a specified object. The list contains access control entries (ACEs), each of which specifies a user or group and indicates whether certain operations are allowed or denied for that user or group. Using access control provides security for CloudBees CD system use.
Things done by or to Software Delivery Management. Actions can be inbound or outbound.
An inbound action is where the Software Delivery Management reacts to something happening external to it. An outbound action is
when the Software Delivery Management updates an external system based upon something that happened.
Actions can include notifications, for example.
In CloudBees CD, 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.
An agent is typically a machine, or container, which connects to a Jenkins controller and executes tasks when directed by the controller. An agent can be configured to have multiple executors, meaning it can run multiple tasks at a time from one or more controllers. In CloudBees CI, an agent can be a shared resource available to multiple controllers or it can be dedicated to a single controller.
A network configuration that prevents network-connected resources, such as computers or processes, to behave as if they are physically isolated from unsecured networks, such as the public internet or an unsecured local area network.
A component that expands the capabilities of a system based upon context, API, and other third-party integrations.
In CloudBees products, apps can contribute to UI workflows and visualizations, assist with data ingestion into the System of Record, enable outbound and inbound actions, and contribute to the configuration of software delivery management.
Apps can also extend the data types and schema available for the System of Record.
An actor that interacts with one or more CloudBees Software Delivery Management organizations, following the contract defined by its corresponding app manifest. The app client can be ephemeral or persistent, uni-tenant or multi-tenant, on premise, on the cloud, in a Kubernetes cluster, in a CLI, etc. Often a client acts as an intermediary between the CloudBees Software Delivery Management account and some other service.
A set of developer tools, APIs, API documentation, tutorials, and reference guides that
make it easy for users to create apps. The app framework allows traditional development
as well as a low-code or no-code development approach.
In CloudBees CD, an artifact repository is a 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.
In CloudBees CD, 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, which is defined with a configuration setting.
The user interface that administrators can use to manage plugin versions and enforce compliance with the CloudBees Assurance Program’s recommended sets of plugins and versions. It provides a centralized view of the monitored plugins, recommended actions, and configuration options.
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 connected client controllers (for CloudBees CI on traditional platforms), or managed controllers, and team controllers (for CloudBees CI on modern cloud platforms).
A step that can be added to a Pipeline that allows you to restart a Pipeline build from a certain point. A new flow build, using a new build number, is started. It skips all of the steps preceding the checkpoint and runs only the remainder of the flow.
CloudBees CI is a fully-featured, cloud native capability that can be hosted on-premise or in the public cloud to deliver CI at scale. It provides a shared, centrally managed, self-service experience for all your development teams running Jenkins. CloudBees CI on modern cloud platforms is designed to run on Kubernetes. CloudBees CI on traditional platforms has been developed for on-premise installations.
The new single source of truth to monitor and optimize the underlying CI infrastructure across your enterprise. With actionable insights, you can enhance your build performance, right-size your workloads over demand cycles, prevent unplanned downtimes, get a holistic view of your plugin usage across all your Pipeline jobs, and more.
A program that is designed and maintained by CloudBees to test plugins, plugin versions, and plugin dependencies to determine their stability. Verified plugins in the CAP are both independently stable and tested as a whole to ensure compatibility with each other and the CloudBees CI instance. This provides greater stability and security for CloudBees CI environments.
A solution in the CloudBees Software Delivery Management portfolio, that unlocks engineering productivity data from different DevOps and business tools (such as, but not limited to, Jira, Jenkins, GitHub, CloudBees CI) to provide the visibility needed to focus on quickly and predictably delivering value to your customers, resulting in achieving business objectives.
By leveraging data from connected tools, you can manage your engineering teams’ performance, continuously improve, control costs, and optimize the on-time delivery of quality software.
CloudBees Software Delivery Management connects all teams, tools, and processes to help IT leaders maintain an accurate view of software delivery progress across the organization. Its solutions make it easier to plan, prioritize, and deliver new software on time.
Represents data entities and relationships in the simplest possible form in order to integrate processes across various systems and databases. The model is independent from any specific application and provides an additional level of indirection between applications' individual data formats.
In CloudBees CD, 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.
A method of simplifying the configuration of the operations center or controller by capturing the configuration of the operations center or controller in human-readable declarative files that can be used in a reproducible way.
In CloudBees CD, continuous integration means launching a build every time code changes are checked into a source control management (SCM) system. The CloudBees CD ElectricSentry component is the engine for continuous integration, while the CI Continuous Integration Dashboard is the front-end user interface for ElectricSentry.
In CloudBees CD, 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 .
In CloudBees CD, 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. Custom properties in a property sheet can be one of two types: string property or a property sheet property. String properties hold simple text values. Property sheet properties hold nested properties. Nested properties are accessed by way of the property sheet property of their containing sheet.
A data type is a specific kind of data, defined by the values it can contain and how those are accessed.
For example, an Integer is a Scalar data type that can hold a whole number and an Object is a data type that has named fields with their own data types and values.
The frequency of successful runs at any gates that are identified as deployment gates in a DevOptics value stream. Where multiple deployment gates exist in a value stream, the value stream metric is an aggregation.
In CloudBees CD, 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>.
In CloudBees CD, 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 postp postprocessor uses file names like diag-2770.xml, where 2770 is the unique identifier for the step. Other postprocessors you may use have a different file name configuration.
In CloudBees CD, ec-perl is a small wrapper program installed as part of CloudBees CD. When the ec-perl wrapper runs, it sets up the environment, finds, and calls the CloudBees CD copy of Perl, passing all of its parameters to Perl.
In CloudBees CD, ectool is the CloudBees CD command-line application that provides control over the CloudBees CD system if you prefer using a command-line interface rather than the CloudBees CD UI. Most functions that can be invoked through the CloudBees CD UI can be invoked using ectool.
In CloudBees CD, ElectricSentry is the CloudBees CD engine for continuous integration, integrating with numerous Source Control Management (SCM) systems. ElectricSentry is installed automatically with CloudBees CD and is contained in a plugin named ECSCM and in the CloudBees project. The CI Continuous Integration Dashboard is the front-end user interface for ElectricSentry.
In CloudBees CD, After setting up the CloudBees CD 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.
In CloudBees CD, 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.
In CloudBees CD, a gateway communicates with a resource, workspace, or artifact repository server in another zone. A gateway object contains two resource (agent) machines. For example, GatewayResource1 and GatewayResource2 are each configured to communicate with the other. One gateway resource resides in the source zone and the other in the target zone. A gateway is bidirectional and informs the CloudBees CD server that each gateway machine is configured to communicate with its other gateway machine (in another zone).
In CloudBees CD, impersonation is a mechanism that allows a job step to execute under a particular login account: the CloudBees CD agent impersonates a particular user during the execution of that step. Impersonation is implemented using credentials.
In CloudBees CD, a feature of the 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.
In CloudBees CD, intrinsic properties represent attributes that describe the object to which they are attached. The CloudBees CD server automatically provides intrinsic properties for each similar type object. For example, every project has a description property that can be referenced with a non-local property path such as /projects/Examples/description.
Jenkins® is an open source automation server. With Jenkins, organizations can accelerate the software development process by automating it. Jenkins manages and controls software delivery processes throughout the entire lifecycle, including build, document, test, package, stage, deployment, static code analysis and much more.
In CloudBees CD, 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 home page to make it easy for you to invoke your favorite configurations with a single mouse click.
In CloudBees CD, a 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: 93436[/increment /myproject/jobCounter]0, which produces a name like: projectFoo_1234_20140102130321. You can enter any combination of elements to create procedure names more meaningful to you. For example, you could choose to include the build number and procedure name.
In CloudBees CD, the run-time representation of a procedure step. 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.
In CloudBees CD, a Jobs Quick View section is a set of information provided on the CloudBees CD 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.
In CloudBees CD, a group defined inside the CloudBees CD server, rather th 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.
In CloudBees CD, A user defined inside CloudBees CD, 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. 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 only. See user .
In CloudBees CD, 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 when the pattern matches.
A metric in DevOptics that indicates the amount of time a successful commit spends in a gate after it is processed and before it is picked up by a downstream gate. If the gate is the last gate in a value stream, the idle time is zero.
The mean time for a ticket and associated commits to successfully flow through a gate. At the DevOptics value stream level it is the mean time for a ticket and associated commits to successfully flow from their entry point in the value stream to their final gates.
A metric in DevOptics that shows the amount of time it takes from when a project starts to when it completes successfully. The processing time can span multiple runs that fail until the project is part of a successful run.
In CloudBees CD, an architecture style where services are fine-grained and the protocols are lightweight, enabling continuous delivery and deployment. This is a variant of the service-oriented architecture style, which structures an application as a collection of loosely-coupled services.
Decomposing an application into smaller services improves modularity and makes the application easier to understand, develop, and test. It parallelizes development by letting small autonomous teams develop, deploy, and scale their respective services independently. It also lets the architecture of an individual service emerge through continuous refactoring.
A component of CloudBees CI that enables centralized management of managed controllers and team controllers (for CloudBees CI on modern cloud platforms), and client controllers (for CloudBees CI on traditional platforms).
In CloudBees CI, CloudBees Jenkins Platform, and CloudBees Jenkins Distribution, a Jenkins Pipeline is a suite of plugins which supports implementing and
integrating continuous delivery pipelines into Jenkins. Pipeline provides an
extensible set of tools for modeling simple-to-complex delivery pipelines "as
code" via the Pipeline DSL.
A set of features that allow Jenkins users to define Pipeline job processes with code and are stored and versioned in a source control repository. These features allow Jenkins to discover, manage, and run jobs for multiple source control repositories and branches, eliminating the need for manual job creation and management.
Runtime validations that work for both scripted and declarative Pipelines and provide administrators a way to include warnings for or block the execution of Pipelines that do not comply with certain regulatory requirements, rules, or best practice guidelines.
CloudBees Pipeline Templates give your organization the ability to enforce consistency. A small team can determine what Pipeline options are appropriate for your needs, and all of your development teams can choose from one of those options when they set up a software delivery project.
A configuration file that specifies plugins and their associated versions. It widens the acceptable scope of plugins beyond those defined by the CloudBees Assurance Program. This scope includes the ability to specify plugin dependency rules and acceptable version ranges for these plugins.
In CloudBees CD, the polling frequency is how often the ElectricSentry continuous integration engine is set to look for new code check-ins. The default is set to every five minutes, but this number can be adjusted.
In CloudBees CD, a pool, also known as resource pool, is a collection of resources. If a step specifies a pool name as its resource, the CloudBees CD server can choose any available resource within that pool.
In CloudBees CD, postp is a postprocessor included with CloudBees CD. postp uses regular expression patterns to detect interesting lines in a step log. Out of the box, it 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.
In CloudBees CD, 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 includes a standard postprocessor called postp.
In CloudBees CD, 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 changed work. 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.
In CloudBees CD, privilege types for object access control and security:
* Read—Allows object contents to be viewed.
* Modify—Allows object contents, but not its privileges, to be changed.
* Execute—If an object is a procedure or it contains procedures, this privilege allows object procedures to be invoked as part of a job. For resource objects, this privilege determines who can use this resource in job steps.
* Permissions—Allows object permissions to be modified.
In CloudBees CD, a procedure defines a process to automate one or more steps. A procedure is the CloudBees CD unit you execute to carry out a process. A step in one procedure can call another procedure, in the same or different project, becoming known as a subprocedure or nested procedure. The step can pass arguments to the subprocedure.
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.
The condition of a manufactured state of unnecessary complexity in a company’s product offerings that leads to confusion, bewilderment, and disorientation internally and among that company’s customers and target market.
In CloudBees CD, 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.
In CloudBees CD, a property is a pair associated with CloudBees CD 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 provides intrinsic properties and allows you to create custom properties. Intrinsic properties are case-sensitive. Custom properties, like all other object names in the CloudBees CD system, are case-preserving, but not case-sensitive.
* Intrinsic properties: These properties represent attributes that describe the object to which they are attached, and are automatically added by CloudBees CD for each similar type object. For example, every project has a description property that can be referenced with a non-local property path such as /projects/Examples/description.
* Custom properties: 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.
In CloudBees CD, 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.
In CloudBees CD, 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.
An app that is visible in the app directory. An application must be published before it can be explicitly installed in organizations other than the organization that owns the app. Only CloudBees can publish an app. The owning organization can remove it from the app directory.
In CloudBees CD, 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 gives developers an opportunity to back-out a change if they realize it is not correct. Using ElectricSentry, the inactivity time period can be configured globally for all projects or individually for a single project.
Access control provides security for all system objects and a comprehensive mechanism to control how individuals use the system. The Role-based Access Control plugin is the preferred authorization strategy for CloudBees CI, and is installed by default. The RBAC plugin gives a CloudBees CI administrator the ability to define multiple security roles.
In CloudBees CD, 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 supports two types of resources:
In CloudBees CD, 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).
CloudBees Software Delivery Automation enables enterprises to optimize their software delivery process for increased innovation and security by connecting, automating, and orchestrating the tools and functions across development, operations, and shared services teams.
In CloudBees CD, a continuous integration schedule created using the ElectricSentry engine for continuous integration or the CI Continuous Integration Dashboard, which is an easy-to-use front-end user interface for the ElectricSentry engine.
In CloudBees CD, otherwise known as a microservice, an architecture style where services are fine-grained and the protocols are lightweight, enabling continuous delivery and deployment. This is a variant of the service-oriented architecture style, which structures an application as a collection of loosely-coupled services.
An option in CloudBees CI that lets you use a self-signed certificate or a custom certificate authority (CA) to access internal HTTPS services, such as a source code management (SCM) repository or an artifact repository.
A utility that is built into Jenkins that is helpful for creating bits of code for individual steps, discovering new steps provided by plugins, or experimenting with different parameters for a particular step.
A stage is a step for defining a conceptually distinct subset of the entire Pipeline, for example: "Build", "Test", and "Deploy". A stage is used by many plugins to visualize or present Jenkins Pipeline status/progress.
In CloudBees CD, 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 sub-job 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 .
In CloudBees CD, 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.
In CloudBees CD, a subprocedure is a nested procedure. 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.
In CloudBees CD, this is a special object whose access control lists are used to control access to some CloudBees CD internals. System objects are: admin, artifactVersions, directory, emailConfigs, forceAbort, licensing, , plugins, priority, projects, repositories, resources, server, session, and workspaces.
In CloudBees Software Delivery Management, the System of Record is a powerful, tightly integrated, and extensible document-centric data store with features that make it faster and easier to store and retrieve data. The System of Record records all software delivery activities to support subsequent query, visibility, analytics, insights, workflow orchestration, and other features.
In CloudBees CD, 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. Tag a project if you want 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.
In CloudBees CD, a transition definition, along with a state definition and workflow definition, combine to create a workflow. Each state can contain one or more transition objects. You can define one or more transitions for each state, depending on which transition options you want to apply to a particular state.
Enables Jenkins administrators to host their own Update Center for the Jenkins instances that they administer. This Update Center will provide the Jenkins administrator with the ability to both restrict the plugins available and host their own custom plugins.
In CloudBees CD, a user defines an account used to log into the system and defines control access to CloudBees CD objects. A user can be defined externally in an LDAP or Active Directory repository, or locally in CloudBees CD.
A kind of work that is always present regardless of current efforts and project goals. Examples can include bug fixes, security patches, and technical debt. A work category can also represent work done by people in a role, such as design, documentation, or user experience; or a phases of work, such as feature research, scope discovery, planning, and delivery.
In CloudBees CD, you can use a workflow to design and manage processes at a higher level than individual jobs. For example, workflows allow you to combine procedures into processes to create build-test-deploy lifecycles. A workflow contains and transitions you define to provide complete control over your workflow process. The CloudBees CD workflow feature allows you to define an unlimited range of large or small lifecycle combinations to meet your needs.
In CloudBees CD, a workflow definition provides 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.
In CloudBees CD, a workflow name template is the template used to determine the default name of jobs launched from the workflow definition. For example: 93436[/increment /myproject/workflowCounter]0 (substitute your values for the names above) produces a workflow name such as: projectName_123_20140102130321.
In CloudBees CD, 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. A default zone is created during CloudBees CD installation. The server implicitly belongs to the default zone, which means all agents in this zone can communicate with the server directly (without the use of a gateway).