CloudBees CD/RO enables software delivery by providing reusable automation objects that represent key aspects of automated delivery systems. These include application, environment, pipeline and release modeling objects. In addition, CloudBees CD/RO has a plugin architecture that enables extending the platform’s functionality and integrating with other tools used in the software development and delivery chain.
Projects - Container for modeling objects
Properties and property sheets - like all objects, user-defined properties can be attached - name : value
Credentials - Secure user : password store
Procedures - Sequence of steps
Steps - Definition of actions to be performed against a resource (host with agent installed)
Attached credentials - To access credentials at runtime
Formal Parameters - Input and output parameter definitions
Pipelines - Similar to procedures, but arranged in stages and tasks and do not have a common workspace (each task has its own)
Stages - Sequence of tasks and gates
Pipeline Runtime Instance - Runtime instance of a pipeline definition
Stage Runtime Instance
Microservices - Deployment model for microservices
Applications - Deployment model for multi-tiered applications
Environment - Targets for Application deployments
Catalogs - Easy-to-use packaged self-service items to create or run content
Reports- Report database filters
Widgets - Present data filtered by Reports
Jobs - Runtime of procedures
Plugins - Versioned projects used for tool integrations
Configurations - Credentials, connection strings
Resources - Logical references to installed agents running on hosts
Workspaces - Specifications for where job outputs are be stored and accessed
Artifacts- A Maven-like artifacts store
Users- Local or LDAP/AD user definitions
Groups - Local or LDAP/AD groups definitions
Personas - User interface view filtering for different classes of users
In addition to the above, there are several other system administration object types that are not shown here.
Property references can be used in most entry fields and these references are typically expanded at runtime.
Intrinsic properties (properties defined by the system) and user-defined properties are accessed the same way. As a result, you need to be careful when creating properties and avoid using reserved names (intrinsic property names). Properties are referenced using square-bracket,
$[…] notation, where the content of the square brackets can be one of:
Xpath - for example:
Increment - for example:
Timestamp (not an actual property reference) - for example:
/timestamp YYYY-MM-dd HH:mm:ss+
The path to an object’s properties is according to the object model:
/projects/A Project/procedures/A Procedure/steps/A Step/shell
Shortcuts are provided for ease of use.
/myStep/shell /myProcedure/My Property /myJobStep/outcome /myProcedure/status
User parameters can be attached to any object (actually, its propertySheet). These parameters can be hierarchical. Property sheets are properties without values but can contain properties:
/projects/A Project/My Top Sheet/A Property
/projects/A Project/My Top Sheet/A Subproperty sheet/Another Property /projects/A Project/My Top Sheet/Yet Another property
Parameters can be attached to any runnable object. These (“formalParameters”) can be accessed at runtime (“actualParameters”) with the square-bracket notation, but do not require a path.
For example, compare the parameter
with these alternatives:
$[/jobs/job_1234/actualParameters/anInput] $[/myJob/actualParameters/anInput] $[/myJob/anInput])
The last example works because actualParameters are also copied to the job property sheet at runtime.
Job property reference:
To use the command line interface (CLI) to set a property, use the CLI command:
ectool setProperty /myJob/aNewProp --value xyz # aNewprop cannot be expanded here because expansion happens before shell execution
$[/myJob/outcome] may return
$[Input Parameter] $[/myTaskRuntime/outcome]
A safe way to reference user properties that might have special characters or embedded blanks:
$[/myJob[XYZ ABC]] or
$[/myJob[$[A Property Name with spaces]]]
User-modified properties that change the behavior of the platform are listed here.
This can be set to customize the job step status line
/myJob/report-urls/link label -
When a property is set on the
/myJob/report-urls property sheet to a URL value, a link appears in the Jobs Detail view. The name of the link to the URL value is displayed.
/myStageRuntime/ec_summary/A Property -
The property names on the
/myStageRuntime/ec_summary will appear in the stage summary as a link to the value of the property, for example, an HTML snippet.
/server - Properties in this property sheet can be edited to modify the CloudBees platform behavior or to access platform values.
|Runnable Objects and useful properties||Runtime Objects and useful properties|