Workflows
A workflow is an orchestration of steps which define a build or deployment process. These steps can be a combination of plugin operations or basic workflow operations such as variable assignment, conditionals, or looping constructs.
There are 4 main types of workflows that FlexDeploy users will work with.
Build - used for building a project. This is used to get source files from SCM or other sources and creates Artifacts that are deployed to a target environment.
Pre-deploy - used for performing any activity prior to running the Deploy workflow in a target group. At the end of the workflow, you can use the default output variables FD_REVIEW_REQUIRED and FD_REVIEW_GROUP to create a review task(Human Task) and assign it to one or more groups. Certain plugins have the ability to override the value of FD_REVIEW_REQUIRED automatically when used in a Pre-deploy workflow.
Deploy - used for deploying artifacts to a target environment.
Utility - used for executing specific operations on target environment against a specific target group. Utility workflows do not deal with any artifacts. Examples for utility workflows include restarting a server, executing scripts, or any job that may need to be run ad hoc.
Workflows are built using Plugin Operations like SOA Build, WebLogic Deploy or Unix Shell as well as other constructs like If, Assign, While etc. In most cases out of box plugins are very useful, but when necessary users can use plugins like Shell, Groovy, Ant, Maven etc. to perform specific tasks.
Pre-deploy
Pre-deploy workflows will execute when a deploy request is submitted. The project should have the Pre-deploy workflow selected in the configuration screen. The workflow inputs for Pre-deploy should be setup to match the corresponding Deploy workflow of the project. The deploy workflow's inputs will show on the project deployment and release configuration screen. If they aren't also present in the Pre-deploy workflow, the data will not make it through to the deploy workflow.
The Pre-deploy workflow inputs flow into the Deploy workflow inputs. For this to work, workflow developers must use the same name and data type for the Pre-deploy output(with "Return As Output" selected) and Deploy input variables in the respective workflows. To learn more about workflow inputs see Creating a Workflow.
Workflows are configured on each project which allows the project to perform Build and Deploy operations and in the case of Utility projects allows for the execution of desired commands. The Pre-deploy workflow can be used to perform any review for certain deployments like Terraform, Database, etc. prior to running actual Deploy operations to eliminate any unwanted changes in an environment.
If you want to control the project version based on a discovery made during the build workflow execution, then return the FD_BUILD_VERSION output from build workflow. The version can only contain Letters, Numbers, Underscore, Dot and Dash.
Maintain Workflows
- style