Components represent deployable items along with user-defined processes that operate on them, usually by deploying them.

Understanding components is critical to understanding HCL DevOps Deploy (Deploy).

Deployable items or artifacts, can be files, images, databases, configuration materials, or anything else that is associated with a software project. Artifacts can come from a number of sources, such as: file systems, build servers, source version control systems, and repositories. When you create a component, you identify the source and define how the artifacts are imported into Deploy. For example, if the source is Subversion, you specify the Subversion repository that contains the artifacts. Each component represents artifacts from a single source. Sources are defined using source-type plug-ins.

Components have component processes. A component process is a series of user-defined steps that operate on the component or its artifacts. Each component has at least one process and can have several. A component process can be a single step or contain numerous relationships, branches, and process switches. Component processes are created with the process editor. The process editor is a visual drag-and-drop editor that lets you drag process steps onto the design space and configure them as you go. As more steps are placed, you visually define their relationships with one another. Process steps are selected from a menu of standardized steps. Steps are provided for several utility processes, such as inventory management, and workflow control. More process steps are provided by automation-plug-ins. A component process can have steps from more than one plug-in. See Plug-ins.

After you define the source and processes for a component, you import its artifacts into the artifact repository, CodeStation. Artifacts can be imported automatically or manually. By default, a complete copy of the content is imported into CodeStation. The original artifacts are untouched. Each time a component is imported it is assigned a component version, which is used to ensure that the appropriate component instances get deployed. Versions can be assigned automatically, applied manually, or from a build server. Every time the artifacts are modified and imported, a new version of the component is created.

You can create Component templates that contain processes and configuration properties, which you can use to create components. See Component templates.