Deployment History
View, filter, and analyze your deployment history in Devpilot — access logs, review deployment details, and track deployment analytics over time.
Deployment History
Devpilot maintains a complete record of every deployment triggered for each application. The deployment history gives you full visibility into what was deployed, when it was deployed, who committed the change, and what the outcome was. Use it to audit deployments, troubleshoot issues, find rollback targets, and review your deployment patterns over time.
Viewing the deployment list
Navigate to your application page and open the Deployments view. The deployment list shows all deployments for the application, ordered by date with the most recent at the top.
Each entry in the list displays:
- Status indicator — A badge showing one of Pending, Processing, Completed, Failed, or Cancelled, plus a Live marker on the deployment currently serving traffic.
- Commit information — The commit hash, commit message, committer name, and committer email.
- Branch — The Git branch that was deployed.
- Provider and repository — The Git provider and repository source.
- Duration — How long the deployment took from start to finish.
- Timestamps — When the deployment started and ended.
Click on any deployment to open its detail page.
Filtering deployments
When you have many deployments, filters help you find what you are looking for.
Filter by status
Filter the list to one or more of these statuses:
- Pending — Queued but not yet started.
- Processing — Currently running on the server.
- Completed — Finished without errors.
- Failed — Stopped due to a hook returning a non-zero exit code or timing out.
- Cancelled — Manually cancelled before completing.
You can also filter to show only the Live deployment across your applications when you want to see exactly what is currently running.
Filter by branch
When you deploy from multiple branches (for example, main and staging), the branch filter narrows the list to deployments from a specific branch.
Filter by date range
Choose a date range to investigate issues from a specific period, or to review a release window.
Combining filters
All filters work together. For example, you can view all Failed deployments on the main branch from the last 30 days to identify recurring issues.
Deployment detail page
Clicking on a deployment opens the detail page, which provides the complete picture of that deployment.
Overview section
The top of the detail page shows a summary:
- Status — The current status of the deployment, plus the Live marker if applicable.
- Branch and commit — The commit hash, commit message, committer name, and committer email, with a link back to the commit on your Git provider.
- Duration — Total time from the deployment start to its end (or the time it was cancelled).
- Progress — For in-progress deployments, a percentage indicator. For finished deployments, this shows completion.
- Triggered by — The user who initiated the deployment.
- Started / Ended / Cancelled at — Timestamps for key lifecycle events.
- Rolled back from — If this deployment was created by a rollback, a reference to the source deployment that triggered it.
Hooks and log viewer
The hook list is the central feature of the deployment detail page. For each hook that ran, Devpilot records:
- Stage (Pre Execution, Post Source Control, Post Setup, or Post Release).
- Name and action type (Shell Command, Sync File, or Sync Directory).
- Status — one of Pending, Processing, Successful, Failed, Skipped, or Inactive.
- Output — Everything the command printed to stdout and stderr.
- Exit code — The numeric exit code from the command.
- Started at, completed at, and duration — Timestamps and how long the hook took.
For deployments in the Processing state, the output streams in real time.
Actions
The detail page provides several actions depending on the deployment state:
| Action | Available when | What it does |
|---|---|---|
| Cancel | Processing | Stops the deployment and terminates running processes. |
| Rollback | Failed, or when a newer deployment exists | Creates a new deployment targeting this deployment's commit. See Rollback and Recovery. |
| Diagnose | Failed | Runs AI-powered diagnosis on the deployment. See Deployment Diagnosis. |
| Redeploy | Completed, Failed, Cancelled | Triggers a new deployment on the same branch using the latest commit. |
Comparing deployments
When troubleshooting, it is often useful to compare a failed deployment with a recent successful one. Open both in separate tabs and review the hook output side by side. Look for:
- Different output in the same hook — a command that succeeded before but now fails.
- New warnings that appeared before the error — these often indicate the underlying cause.
- Duration changes — a hook that takes much longer than usual may indicate resource pressure.
- Different dependency versions — the output of
composer install,npm install, or equivalents shows which versions were installed.
Deployment artifacts
Some deployments produce artifacts — build outputs, generated files, or checksum records — that Devpilot stores alongside the deployment. Each artifact records its name, type, size, and a checksum so you can verify what was deployed.
To view artifacts for a deployment:
- Open the deployment detail page.
- Navigate to the Artifacts section.
- Browse the stored artifacts with their file names, sizes, and descriptions.
- Download an individual artifact when you need it.
Artifacts are useful for debugging (inspecting what was actually built) and for audit trails (verifying that the correct output was shipped).
Retention
Devpilot retains deployment records — metadata, hook logs, and artifacts — as long as the deployment record itself exists in your workspace. Deleted deployments are soft-deleted and can be restored by your workspace administrator.
Release directories on the server are managed separately from deployment records. Devpilot keeps a configurable number of recent releases on the server so you have rollback targets available even after older deployment records age out.