Files
compras/scripts/sgf-code-deploy.php
T
2026-11-02 20:27:11 +02:00

21 lines
1.1 KiB
PHP

<?php
use Tempo\Purchasing\Delivery\CodeDeployment;
require dirname(__DIR__).'/integrations/sgf/operational/CodeDeployment.php';
try {
$action = $argv[1] ?? '';
$deployment = new CodeDeployment($argv[2] ?? '');
$result = match ($action) {
'plan' => $deployment->plan($argv[3] ?? '', $argv[4] ?? ''),
'apply' => $deployment->apply($argv[3] ?? '', $argv[4] ?? '', $argv[5] ?? '', $argv[6] ?? '', ($argv[7] ?? '') === '--offline'),
'rollback' => $deployment->rollback($argv[3] ?? '', $argv[4] ?? '', ($argv[5] ?? '') === '--offline'),
'cache' => $deployment->rebuildCaches($argv[3] ?? '', $argv[4] ?? '', ($argv[5] ?? '') === '--offline'),
default => throw new RuntimeException('Usage: plan <host> <bundle> <manifest-sha> | apply <host> <bundle> <manifest-sha> <target-sha> <operator> --offline | rollback|cache <host> <deployment-id> <operator> --offline'),
};
echo json_encode($result, JSON_PRETTY_PRINT | JSON_THROW_ON_ERROR)."\n";
} catch (Throwable $error) {
fwrite(STDERR, $error->getMessage()."\n");
exit(1);
}