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-bancotambém restaura o dump do banco feito antes da entrega; -
--dry-runmostra o que seria executado.
O caminho depende do projeto no environment.json:
-
deploy_mode: "ssh"(Lab): rodaatualizacoes-sistema.php --rollback=<id> --domain=<host>no servidor, pelo SSH, como ossh_run_as; -
os outros:
POST /_api/project/rollbackcom oapi.access_tokendo 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.