Deploying a Branch
Overview
Deploying a branch builds the current branch's source files and deploys the resulting package to the target device. This is a combined operation that first performs a build (compiling the source files and resolving dependencies) and then transfers the compiled output to the device for execution. Deployment is the mechanism by which changes made in the file explorer are applied to the physical or virtual device running the project's programs.
How to Deploy
To deploy the current branch, click the Deploy button in the file explorer toolbar. The platform first builds the branch (equivalent to clicking the Build button) and, if the build succeeds, deploys the compiled output to the target device through the Mutexer Agent. Build and deployment progress are tracked and displayed within the platform interface.
If the build step fails, the deployment is aborted and error details are provided in the build output. If the build succeeds but the deployment fails (e.g., due to a device connectivity issue), the deployment status reflects the failure and can be retried.
Deployment Behavior
Deployment delivers the compiled program to the target device and initiates execution. Programs begin running immediately upon successful deployment. The deployment is performed against the current snapshot of the selected branch, ensuring that the deployed version corresponds exactly to the files currently visible in the file explorer.
DANGER
Programs begin executing immediately upon successful deployment. Ensure that the program logic has been reviewed and tested before deploying to devices in production environments, particularly those controlling physical processes or safety-critical systems.
Deployment Tracking
Each deployment is logged with the branch name, snapshot hash, timestamp, and the target device. This information is available in the Deployments Window (see Deployments Window) and provides a complete record of which version of the project's code is running on each device.
TIP
Use the snapshot hash to correlate a deployment with the exact state of the project files at the time of deployment. This is essential for incident investigation and for verifying that the correct version of a program is running on a device.
