Deploy And Operate Fleets
Use project, deploy, fleet, and status commands when Homeboy is operating configured environments instead of only local quality gates. This workflow is for operator-controlled deployment and fleet inspection.
Use This When
- You need to know what is actually deployed to a project.
- A component should be deployed to one project, many projects, or every project that uses it.
- Multiple projects should be checked as a fleet.
- You need remote status, logs, files, database, or fleet fan-out operations.
1. Check Release And Deploy State Separately
Plain workspace status is git-state oriented:
homeboy statusProject status compares configured targets against latest release tags:
homeboy status <project-id>
homeboy status <project-id> --outdatedDo not treat ready_to_deploy as proof that a target is behind. Use project status for the installed-version question.
2. Preview Deployment
Start with read-only or planning commands:
homeboy deploy <project-id> --check
homeboy deploy <project-id> <component-id> --dry-run
homeboy deploy <project-id> --outdated --dry-runFor multiple projects:
homeboy deploy --projects <project-a>,<project-b> <component-id> --dry-runFor a fleet or shared component:
homeboy deploy <component-id> --fleet <fleet-id> --dry-run
homeboy deploy <component-id> --shared --dry-run3. Apply Deployment Deliberately
After checking the plan, run the deployment:
homeboy deploy <project-id> <component-id>Dangerous modes require explicit confirmation:
homeboy deploy <project-id> <component-id> --head --apply
homeboy deploy <project-id> <component-id> --force --applyPrefer release tags or accepted stable refs for production. Deploying branch HEADs is an operator decision and should not be the default path.
4. Use Fleets For Groups Of Projects
Create and inspect fleets when the same operational question applies to many projects:
homeboy fleet create <fleet-id> --projects site-a,site-b,site-c
homeboy fleet status <fleet-id>
homeboy fleet check <fleet-id> --outdatedDeploy one component to the fleet:
homeboy deploy <component-id> --fleet <fleet-id>Deploy to every configured project that uses the component:
homeboy deploy <component-id> --shared5. Run Remote Operations With Plan/Apply Discipline
Fleet exec has an explicit check/apply boundary:
homeboy fleet exec <fleet-id> --check -- wp plugin list
homeboy fleet exec <fleet-id> --apply -- wp plugin listUse --check first so the target set and command are visible before remote fan-out.
6. Capture Evidence
For automation or incident review, write JSON output:
homeboy --output homeboy-results/deploy-check.json deploy <project-id> --check
homeboy --output homeboy-results/fleet-status.json fleet status <fleet-id>Pair deployment evidence with release evidence when a reviewer needs to understand merged -> released -> deployed state.