deploymentId); if (! $deployment) { return; } $deployment->update([ 'last_status' => 'running', 'last_error' => null, ]); $agent = new AgentClient; try { $result = $agent->send('git.deploy', [ 'username' => $deployment->user->username, 'repo_url' => $deployment->repo_url, 'branch' => $deployment->branch, 'deploy_path' => $deployment->deploy_path, 'deploy_script' => $deployment->deploy_script, ]); if (! ($result['success'] ?? false)) { throw new Exception($result['error'] ?? 'Deployment failed'); } $deployment->update([ 'last_status' => 'success', 'last_deployed_at' => now(), 'last_error' => null, ]); } catch (Exception $e) { $deployment->update([ 'last_status' => 'failed', 'last_error' => $e->getMessage(), ]); Log::error('Git deployment failed', [ 'deployment_id' => $deployment->id, 'error' => $e->getMessage(), ]); } } }