@extends('adminlte::page') @section('title', $pageTitle) @section('content_header')

{{ $pageTitle }}

@stop @section('content') @if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif @php $artisanEnv = $deployConfig['artisan_env'] ?? ($profileKey === 'producao' ? 'producao' : 'homologacao'); $gitRoot = trim((string) ($deployConfig['git_repository_root'] ?? '')); $gitBranch = $deployConfig['git_branch'] ?? ($profileKey === 'producao' ? 'main' : 'homologacao'); $commands = $deployConfig['artisan_commands'] ?? []; $resultado = session('deploy_resultado'); $confirmLabel = $profileKey === 'producao' ? 'Confirmo deploy de produção.' : 'Confirmo deploy de homologação.'; $cardClass = $profileKey === 'producao' ? 'card-danger' : 'card-warning'; @endphp @if($profileKey === 'producao')
Atenção: este fluxo afecta o ambiente de produção. Confirme branch, repositório e instalações antes de executar.
@endif

Configuração atual

Perfil
{{ $profileKey }}
Repositório Git (cPanel)
{{ $gitRoot !== '' ? $gitRoot : '(não definido no .env)' }}
Branch Git
{{ $gitBranch }}
--env artisan
{{ $artisanEnv }}
PHP
{{ filled($deployConfig['php_binary'] ?? '') ? $deployConfig['php_binary'] : 'PHP_BINARY da gestão' }}

Comandos por instalação:

    @foreach($commands as $cmd)
  • php artisan {{ $cmd }} --env={{ $artisanEnv }}
  • @endforeach
@if(!empty($repositorios))

Repositórios Git no cPanel

@foreach($repositorios as $repo) @endforeach
repository_rootbranch
{{ $repo['repository_root'] ?? $repo['root'] ?? '—' }} {{ $repo['branch'] ?? $repo['active_branch'] ?? '—' }}
@endif
@if(!$podeExecutar)
Ações de deploy exigem papel super_admin (permissão gestao-write). Conta atual: {{ auth()->user()->email ?? '—' }} @if(auth()->user()?->gestao_role) (papel: {{ auth()->user()->gestao_role }}). @else (sem papel explícito — sem escrita). @endif
@else @can('gestao-write')

Executar pipeline

Git pull via cPanel, depois artisan em cada instalação (API_PATH / GESTAO_API_CRON_BASE_PATH — API compartilhada; --env={slug} por tenant).

@csrf
@forelse($instalacoes as $inst)
@empty

Nenhuma instalação.

@endforelse
@endcan @endif @if($resultado)

Última execução

@if(isset($resultado['git']))

Git: @if($resultado['git']['ok'] ?? false) OK @else Falha @endif — {{ $resultado['git']['message'] ?? '' }}

@endif

{{ $resultado['resumo']['ok'] ?? 0 }} OK, {{ $resultado['resumo']['erro'] ?? 0 }} erro(s), total {{ $resultado['resumo']['total'] ?? 0 }}.

@foreach($resultado['instalacoes'] ?? [] as $slug => $instResult)
{{ $instResult['nome'] ?? $slug }} @if($instResult['ok'] ?? false) OK @else Erro @endif @if(!empty($instResult['base_path']))
{{ $instResult['base_path'] }}
@endif @foreach($instResult['steps'] ?? [] as $step)
{{ $step['command'] ?? '?' }} @if($step['ok'] ?? false) OK @else Erro ({{ $step['exit_code'] ?? '?' }}) @endif
{{ $step['output'] ?? '' }}
@endforeach
@endforeach
@endif
@stop