Validate and deploy your project
Validate your project in development before deploying it to testing, staging, or production.
Validate your project
Use Play mode to validate your project in development.
- Open the BPMN diagram in the project that you want to validate.
- Select the Play tab to play the project using your selected development cluster.
- Perform validation as required, for example, debug your process logic and test the project.
To learn more about using Play for validation, see Play mode for rapid validation
Deploy your project
Before deploying a project
- If the target cluster has authorizations enabled, make sure that the deploying users have
CREATEpermission to theRESOURCEresource type.
Once validation is complete, deploy your project to cluster stages in your development lifecycle, such as testing, staging, or production. For example, deploy to your testing cluster to run automated tests or make it available for testing.
- Open the project homepage.
- Select the Deploy latest changes option from the Deploy & run combo button to open the Deploy & run modal.

- Turn on the toggle for the cluster stage you want to deploy to. In Self-Managed, you may be prompted to enter your cluster details manually if no configuration is provided.
- Perform any other actions as required, such as:
- Unpausing the chosen cluster if it has been auto-paused. Select Resume cluster within the Cluster Details.
- Managing the cluster. Select Manage.
- Select Deploy to deploy the project to the selected cluster.
When you deploy from the project homepage, all BPMN, DMN, and form files in the project are deployed as a single bundle.
In Self-Managed, you can deploy your project to the cluster defined in your Web Modeler configuration.
If any resource fails to deploy, the whole deployment fails and the cluster state remains unchanged. This safely ensures that a project cannot be deployed incompletely or in an inconsistent state.
You can also open the deployment modal from the details page of any deployable file in the project. In that case, the modal includes an additional option to select the resources to deploy.

Run your project
You can manually run your project to test it after it has been deployed to a testing, staging, or production cluster.
Use Play to validate your project in a development cluster, and only use Run when interacting with other stages such as testing, staging, or production.
To run your project:
- Open the project homepage.
- Select Deploy & run to open the Deploy & run modal.

- Select the process for which you want to start a new instance in Process to run.
- Select Deploy & run to start a new instance.
- Before the process instance starts, all resources are redeployed if required so the new instance uses their latest state.
- After the process instance starts, you will receive a notification with a link to the process instance view in Operate. Open this link to monitor the process instance. If the target cluster has authorizations enabled, make sure you have the following permissions to be able to view the process instance in Operate:
READ_PROCESS_DEFINITIONandREAD_PROCESS_INSTANCEpermissions on thePROCESS_DEFINITIONresource typeoperatepermission to theCOMPONENTresource type
You can also open the Deploy & run modal from the details page of any BPMN file in the project. In that case, the current process is run and the modal includes an additional option to select the resources to deploy.

Deployment errors
If the deployment of a project fails (for example, because one or more of the contained resources has invalid implementation properties), a modal is shown containing the error message thrown by the Zeebe engine.
The message typically provides the name of the affected resource, the ID of the invalid diagram element, and the error details.

Deployment of external resources
You can link BPMN processes, DMN decisions, or forms that are not part of the project itself (external resources) from any process inside a project. When you deploy the project, linked resources located outside the project are not deployed with the project, so you must deploy them separately.