The Pre-deploy All step runs the pre-deploy workflows for all project versions (or packages) in the snapshot. Each project configured in release with a Prepre-deploy workflow configured will be executed in this step. Snapshot is created based on projects included in release. This is very important step to make pipeline reusable across releases. The Pre-deploy All step will run the pre-deploy workflows for all the projects in parallel, the . The priority set for the release projects will is not be used in Pre-deploy All step. You can additionally use project groups with more than one Pre-deploy All step to control sequencing of pre-deploy executions. For example, Prepre-deploy DB changes, Prepre-deploy All all applications etc.
Additionally, the Prepre-deploy workflow is workflows are only executed for projects (or packages) if the current project version is not already deployed to the current stage (environment) unless Force Deploy is checked. Checking Force Deploy will cause the Prepre-deploy workflows to run whether the deployment was completed or not.
...