Publish plan (dry-run)
Produce the four-step "new release dir → health check → switch symlink/reference → rollback on failure" plan; retain at least one previous release, no K8s.
Inputs and parameters
siteId— Site siteIdrelease— New releasepreviousRelease— Current/previous release (optional)
Real example
siteId=pdf, release=0.1.0, previousRelease=0.0.9
→ mode=dry-run;steps[0].action="copy <artifact-source> -> /srv/sites/pdf/0.1.0";statusText="未部署/待授权";deployed=false
Limits and failure handling
No credentials/DNS authorization this round: dry-run is forced and "deployment succeeded" is never printed.
FAQ
What if the health check fails?
The state machine keeps the previous reference, does not switch, and records the failed version for diagnostics.