ops(OPS53): etapa de deploy no CI para o homeserver (teqo-1313) #14
Loading…
Reference in a new issue
No description provided.
Delete branch "OPS53-ops53-etapa-de-deploy-no-ci-para-o-homeserver-containe"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
O que entrega
Mergir em
maincom a suite verde agora publica o site 1313 no homeserver — sem passo manual..forgejo/workflows/ci.yml: jobdeploynovo (apóschecks),runs-on: hostna workstation, que streamascripts/deploy-homeserver.shpara o homeserver via SSH.scripts/deploy-homeserver.sh(novo, executa no homeserver): HEAD guard (git ls-remotedemain== SHA do job, senão skip "stale") →flock→ workspace~/teqo-deploy→ build dos stagesrunner+migrator(BuildKit secrets do~/stack/teqo-1313.env, redestack_default) → pushlocalhost:5000→ swap de tags no compose (backupdocker-compose.yml.pre-<sha>) → migrate pelo serviço de maintenanceteqo-1313-migrateantes do rollout →up -d→ healthcheck → smoke (/,/campanha/login,/admin, barreira 307, WebAuthn login-options,api/revalidatecom secret real). Falha pós-swap → rollback automático best-effort + job vermelho.docs/ops/teqo-1313-deploy.md(rollback, falhas conhecidas, decisão de segurança do host label).tests/unit/deployScript.unit.spec.ts(bash -n + estrutura: HEAD guard, BuildKit secrets, ordem migrate→rollout, smoke, sem eco de secrets).Divergência deliberada da intenção (fato novo): a intenção assumia o runner no homeserver; verificado que o runner é a
workstation-runner(workstation) e o stack vive no homeserver — a recomendação A foi corrigida para "job no host da workstation + todo o deploy no homeserver via SSH".Rehearsal feito contra o ambiente real: smoke validado contra o site vivo (200/200/200/307/200/revalidated), sed do compose testado no arquivo real, envs sourceiam limpos,
flock/git/curlpresentes no homeserver, fork-PRs exigem aprovação manual no Forgejo (mitigação do host label verificada).O primeiro deploy real é o merge deste PR (tracer bullet) — se o job falhar, rollback pelo runbook.
Closes #8