Skip to content
docsv0.1.1

DeployRunner

Orchestrates an ordered sequence of deploy steps fail-fast, turning each step's outcome into a structured report suitable for logging, CI integration, and host-level decision-making (abort the deployment if critical steps fail). Domain-blind: steps own their own effects (docker compose, coa commands, HTTP probes, etc.). The runner is pure orchestration.

DeployRunner::__construct()

public function __construct(array $steps, ?Psr\Log\LoggerInterface $logger = null):

Parameters

Parameters of __construct()
NameTypeDescription
$stepslist<DeployStepInterface>
$logger?Psr\Log\LoggerInterface

DeployRunner::run()

public function run(): Milpa\Ops\Deploy\DeployReport

Corre las pasos en orden y se detiene en la primera que falla. Fail-fast y no «corre todo y reporta»: un paso que falla suele dejar el sistema a medio preparar, y seguir adelante produce errores posteriores que apuntan al lugar equivocado. El reporte trae el paso que falló y las que alcanzaron a correr, para que quien lo lea sepa dónde quedó parado. No lanza: el fallo viaja en el reporte, y quien llama decide si aborta.