Conn2Flow
Navegação das docs

Referência / CLI

CLI: Atualizações

Comandos c2f da família update: rollback de uma entrega e choques (listar, baixar, decidir).

A família update:* tem 4 comandos registrados em Application.php.

update:core

Código: cli/src/Commands/UpdateCoreCommand.php (req-201 / BATCH-209).

Usage: c2f update:core <projectID> [--tag=TAG] [--wait] [--status=RUN] [--runs] [--json] [opções da atualização]

Dispara a atualização do sistema de uma instalação pela API (action=run) e, com --wait, acompanha até o fim; se a API ficar indisponível durante a troca de arquivos, espera até 5 minutos. --status=RUN mostra uma execução anterior; --runs lista as recentes. As opções da atualização são as da API (--tag, --backup, --no-health, --health-url…). Sem --tag, o servidor baixa a última release do GitHub. No fim mostra o snapshot, a verificação, a volta automática e como voltar com update:rollback. A atualização em massa fica fora do core, na operação de cada rede.

update:rollback

Código: cli/src/Commands/UpdateRollbackCommand.php (req-198 / BATCH-204). Alias: rollback.

Usage: c2f update:rollback <projectID> <snapshot> [--com-banco] [--dry-run]

Volta uma entrega pelo snapshot que ela deixou no servidor:

  • <snapshot> é o id da resposta do deploy por API (api-…) ou da atualização do sistema (exec-<id>, ou só o número);

  • --com-banco também restaura o dump do banco feito antes da entrega;

  • --dry-run mostra o que seria executado.

O caminho depende do projeto no environment.json:

  • deploy_mode: "ssh" (Lab): roda atualizacoes-sistema.php --rollback=<id> --domain=<host> no servidor, pelo SSH, como o ssh_run_as;

  • os outros: POST /_api/project/rollback com o api.access_token do projeto. Token recusado (401): renove e tente de novo.

update:conflicts

Código: cli/src/Commands/UpdateConflictsCommand.php (req-199 / BATCH-205). Alias: conflicts.

Usage: c2f update:conflicts <projectID> [clashID] [--todos] [--abrir] [--json]

Sem id, lista os choques pendentes do projeto pela API (--todos inclui os resolvidos). Com id, baixa as duas versões para temp/conflicts/<projeto>/<id>/: no-ar.<ext>, nova.<ext> e mesclado.<ext>, que começa como a versão no ar e não é apagado por um novo download. --abrir chama code --diff no-ar nova.

update:resolve

Código: cli/src/Commands/UpdateResolveCommand.php. Alias: resolve.

Usage: c2f update:resolve <projectID> <clashID> --acao=sobrescrever|manter|mesclar [--arquivo=PATH] [--local] [--json]

Envia a decisão. mesclar manda o arquivo mesclado (padrão: o mesclado.<ext> baixado); --local grava a mesma mescla no repositório local do projeto, para a próxima entrega já levá-la.

--json imprime uma linha JSON, para a extensão do VS Code e outros consumidores: a lista ({ok, projeto, choques}), o detalhe baixado ({ok, choque, binario, pasta, arquivos}) ou a resolução ({ok, id, acao, resolvidos, local}); erro sai como {ok: false, erro} com código 1.

Os três comandos que falam com a API usam api.access_token do projeto e, opcionalmente, api_resolve_ip no environment.json: resolve o host da URL para esse IP (ambiente de teste sem DNS para o próprio nome; o certificado não é conferido nesse caso).

Veja atualizações do sistema e a API de projeto.

O Futuro é Híbrido: Humano + IA.

O Conn2Flow é a ferramenta. Se você precisa do Arquiteto para desenhar a estratégia da sua empresa usando essa tecnologia...

Contrate Consultoria Especializada