/** * Create a new event instance. * * @return void */ public function __construct(ServerLog $log) { $this->status = $log->status; $this->started_at = $log->started_at ? $log->started_at->toDateTimeString() : null; $this->finished_at = $log->finished_at ? $log->finished_at->toDateTimeString() : null; $this->log_id = $log->id; $this->output = is_null($log->output) || !strlen($log->output) ? null : ''; $this->runtime = !$log->runtime() ? null : $log->getPresenter()->readable_runtime; }
/** * Gets the log output of a particular deployment step. * * @param ServerLog $log * @return ServerLog */ public function log(ServerLog $log) { $log->runtime = !$log->runtime() ? null : $log->getPresenter()->readable_runtime; return $log; }
/** * Create an instance of DeployStep and a ServerLog entry for each server which can have code deployed. * * @param int $stage * @return void */ private function createDeployStep($stage) { $step = DeployStep::create(['stage' => $stage, 'deployment_id' => $this->deployment->id]); foreach ($this->project->servers as $server) { // If command is null it is preparing one of the 4 default steps so // skip servers which shouldn't have the code deployed if (!$server->deploy_code) { continue; } ServerLog::create(['server_id' => $server->id, 'deploy_step_id' => $step->id]); } }