Deploy Step
The Deploy step deploys a single named project from the snapshot to the stage.
 Â
Field | Description |
---|---|
Step Name | The name of the step. |
Description | An optional description for the step. |
Project Name | The name of the project in the snapshot to deploy. Â This project must be in the snapshot, or the deployment will fail. |
Force Deploy | Whether or not to force deploy the project.  If true, this is equivalent to checking force deploy when individually deploying a project to an environment through the deploy request form.  Optionally, use a Groovy expression to make this field dynamic based on some contextual value (e.g. a property defined on the pipeline, and specified on the release). |
FlexFields | If Deploy Request FlexFields are configured, entry will be prompted for on the step configuration (not shown above). Â If the information is provided in the stage execution info, it will override the data entered on the step configuration. |
Inputs | If the deploy workflow for the project has inputs, entry will be prompted for on the step configuration (not shown above).  If the information is provided in the stage execution info, it will override the data entered on the step configuration. |
Precondition | An optional Groovy script which determines whether the gate or step is applicable during execution.  The script has access to variables and methods listed in the expression drop-down.  The script must return true if the gate/step is applicable, or false otherwise.  If no script is provided, the default is to return true (applicable). |
Continue | If checked, any failure will be ignored, and the pipeline execution will continue. |
Notify Pipeline Role | Selects one or more roles from the pipeline definition to notify in case of error. Default role members are defined on the pipeline, and optional overridden for each release. |
Deploying a named project reduces the generic nature of pipelines, as it assumes that the specific project is in the release and snapshot. Â To make the pipeline more generic, and therefore reusable, you should try to avoid tying it to specific projects where possible.
Script Variables
Optionally, a Groovy script can be written for any Subject, Message, and Precondition fields. The script has access to the following variables and methods listed in the expression drop-down.
Variable | Description |
---|---|
ReleaseName | Name of the release provided when created |
SnapshotName | Name of the snapshot (auto generated by date and time when created) |
SnapshotDuplicateFilesFlag | True if there are duplicate files in the snapshot |
SnapshotDescription | Description of the snapshot |
StageExecutionId | ID of the execution |
Methods for FD_Release variable.
Method | Description |
---|---|
FD_Release.areAllProjectsDeployed() | returns true if all projects in snapshot are deployed |
FD_Release.areAllProjectsDeployed(groupName) | returns true if all projects in a specific group are deployed |
FD_Release.areAllUtilitySuccessful() | returns true if all utility workflows were successful |
FD_Release.areAllUtilitySuccessful(groupName) | returns true if all utility workflows in a specific group were successful |
FD_Release.getEnvironmentCode() | returns environment code |
FD_Release.getReleaseName() | returns the name of the release |
FD_Release.getProjectStageExecution(projectId, packageName) | returns ProjectStageExecution given a project ID and package name |
FD_Release.getProjectStageExecution(projectName, packageName) | returns ProjectStageExecution given a project name and package name |
FD_Release.getSnapshotName() | returns the name of the snapshot |
FD_Release.getSnapshotProjects() | returns the projects in the snapshot |
FD_Release.getSnapshotProjectsAsString() | returns all project names in snapshot concatenated in the format "ProjectName, PartialProjectName (PackageName), ..." |
FD_Release.getSnapshotDeployedProjects() | returns the projects in the snapshot which were deployed |
FD_Release.getSnapshotDeployedProjectsAsString() | returns all deployed project names in snapshot concatenated in the format "ProjectName, PartialProjectName (PackageName), ..." |
FD_Release.getSnapshotFailedProjects() | returns the projects in the snapshot which failed to deploy |
FD_Release.getSnapshotFailedProjectsAsString() | returns all failed project names in snapshot concatenated in the format "ProjectName, PartialProjectName (PackageName), ..." |
FD_Release.getSnapshotSkippedProjects() | returns the projects in the snapshot which were skipped |
FD_Release.getSnapshotSkippedProjectsAsString() | returns all skipped project names in snapshot concatenated in the format "ProjectName, PartialProjectName (PackageName), ..." |
FD_Release.getSnapshotNotAttemptedProjects() | returns the projects in the snapshot which were not attempted |
FD_Release.getSnapshotNotAttemptedProjectsAsString() | returns all not attempted project names in snapshot concatenated in the format "ProjectName, PartialProjectName (PackageName), ..." |
FD_Release.isAnyDeployFailed() | returns true if any projects failed to deploy |
FD_Release.isAnyDeployFailed(groupName) | returns true if any projects in a specific group of projects failed to deploy |
FD_Release.isAnyDeployOrUtilityFailed() | returns true if any projects or utility workflows failed |
FD_Release.isAnyDeployOrUtilityFailed(groupName) | returns true if any projects or utility workflows in a specific group failed |
FD_Release.isAnyUtilityFailed() | returns true if any utility workflows failed |
FD_Release.isAnyUtilityFailed(groupName) | returns true if any utility workflows in a specific group failed |
FD_Release.isProjectDeployed(projectId, packageName) | returns true if a project is deployed, given the project ID and package name |
FD_Release.isProjectDeployed(projectName, packageName) | returns true if a project is deployed, given the project name and package name |
FD_Release.isProjectFailed(projectId, packageName) | returns true if a project failed to deploy, given the project ID and package name |
FD_Release.isProjectFailed(projectName, packageName) | returns true if a project failed to deploy, given the project name and package name |
FD_Release.isProjectSkipped(projectId, packageName) | returns true if a project is skipped, given the project ID and package name |
FD_Release.isProjectSkipped(projectName, packageName) | returns true if a project is skipped, given the project name and package name |
FD_Release.isProjectNotAttempted(projectId, packageName) | returns true if a project was not attempted, given the project ID and package name |
FD_Release.isProjectNotAttempted(projectName, packageName) | returns true if a project was not attempted, given the project name and package name |
- style