Orbit

Implementar o Seu Projeto

Once a repository is connected, Orbit deploys on every push to your production branch: it clones the commit, installs dependencies, runs your build, packages the output and starts serving it. This…

Uma vez que um repositório está conectado, Orbit implementa em cada push no seu ramo de produção: clona o commit, instala dependências, executa a sua compilação, empacota o resultado e começa a servir. Este guia aborda o ciclo de implementação completo, como acionar uma manualmente e os controlos que decidem quando uma implementação é permitida entrar em directo.

Como Funcionam as Implementações Automáticas

Cada push para o ramo definido como Production branch em Settings, depois Git, aciona uma implementação. Orbit então:

  1. Recebe o evento de push do GitHub, GitLab ou Bitbucket.
  2. Coloca uma implementação na fila e atribui-lhe um slot de compilação.
  3. Clona o seu repositório nesse commit exacto.
  4. Restaura a sua cache node_modules se a cache de compilação estiver disponível no seu plano.
  5. Executa o seu comando de instalação (npm ci, yarn install ou pnpm install, detectado do seu ficheiro de bloqueio).
  6. Executa o seu comando de compilação.
  7. Empacota o directório de saída num artefacto de implementação e carrega-o.
  8. Muda o ambiente para servir o novo artefacto.

A página de detalhes da implementação mostra estas como Build phases nomeadas: Clone, Cache restore, Install, Cache save, Build, Upload, Done. A maioria dos projectos termina em um a três minutos.

Orbit project overview showing the latest build

Estatutos de Implementação

EstatutoSignificado
QueuedÀ espera de um slot de compilação. A página de implementação mostra a sua posição na fila
Awaiting approvalRetido porque Require approval for production está activado. Alguém deve aprová-lo
BuildingA instalar dependências e a executar o seu comando de compilação
DeployingCompilação terminada, o novo artefacto está a ser colocado em frente do tráfego
Succeeded (shown as Live)A servir tráfego. A implementação tem um distintivo CURRENT
FailedA compilação ou o passo de implementação teve erro. Abra o registo para ver onde
CancelledInterrompido antes da conclusão, por si ou por um novo push para o mesmo ramo
Rolled backSubstituído por uma reversão para uma compilação anterior

Observar uma Compilação em Curso

A Overview do projecto mostra a compilação actual com um registo de transmissão em directo no painel Latest build. Clique em Full details para abrir a página de detalhes da implementação, que adiciona uma barra de progresso da compilação, um tempo estimado restante, a posição na fila e a cronologia de compilação dividida por fase.

Se o seu plano permite mais de uma compilação simultânea e todas estão ocupadas, a página indica-o claramente: mostra quantos dos seus slots de compilação simultâneos estão em uso e inicia a sua implementação automaticamente quando um fica livre. Pode ver cada compilação em curso em todos os seus projectos em Orbit, depois Queue.

Acionar uma Implementação Manualmente

Existem quatro maneiras de implementar sem fazer push de um novo commit.

Reimplementar o Commit Mais Recente

  1. Abra o projecto.
  2. Abra o separador Deployments.
  3. Clique na implementação que deseja, para abrir a sua página de detalhes.
  4. Clique em Retry build. Use More retry options, depois Retry with cleared cache, se suspeitar de uma dependência em cache obsoleta.

Implementar Agora

O botão Deploy now no separador Deployments coloca na fila uma compilação nova da cabeça actual do seu ramo de produção.

Agendar uma Implementação

Uma implementação pode ser agendada para um tempo futuro. Orbit fotografa o commit no momento em que a agenda, portanto a compilação que é executada mais tarde é o código que aprovou, não aquilo que chegou entretanto.

Deploy Hooks

Um deploy hook é um URL secreto que coloca uma compilação na fila quando algo lhe envia um pedido POST. Use-os para reconstruir a partir de um CMS sem cabeça, um trabalho cron ou um pipeline CI. Configure-os no separador Hooks do projecto. Veja Acionar Implementações Via Deploy Hooks.

Definições de Compilação

Orbit detecta predefinições sensatas para a maioria dos projectos. Substitua qualquer uma delas em Settings, depois Build settings:

CampoMarcador de posição quando em brancoExemplos
Install commandnpm ci (auto-detected)npm ci, yarn install --frozen-lockfile, pnpm install
Build commandnpm run build (auto-detected)npm run build, next build, vite build, astro build
Output directorydist (auto-detected)dist, .next, out, build, .output
Root directory/ (monorepo subdirectory)apps/web
Node.js versionPlatform default18, 20, 22

Deixe um campo em branco para manter o valor auto-detectado. Detalhes completos, incluindo valores por framework e os erros que causam uma primeira implementação falhada, está em Configurar o Seu Comando de Compilação e Directório de Saída.

Definir um Root directory faz mais do que alterar o directório de trabalho. Pushes que apenas alteram ficheiros fora desse caminho são automaticamente ignorados, portanto um monorepo não recompila cada aplicação em cada commit.

Decidir Quando Uma Implementação É Permitida

Orbit tem vários portões independentes. Todos eles estão em Settings.

Deploy Locks

Use um bloqueio para congelar a produção durante um incidente, uma janela de manutenção ou um congelamento de código.

  1. Abra o projecto.
  2. Clique em Lock deploys.
  3. Adicione uma razão opcional.

Enquanto bloqueado, as implementações acionadas por push são silenciosamente ignoradas e um estandarte lê Production deploys are locked com a sua razão. As implementações manuais ainda funcionam, o que é deliberado: um bloqueio impede implementações acidentais, não a correção que está a tentar enviar. Clique em Unlock deploys para o levantar.

Exigir Aprovação Para Produção

Activa Require approval for production em Deploy protection. As implementações de produção acionadas por push então pausam em Awaiting approval até que alguém abra a implementação e clique em Approve ou Reject. As implementações do painel e deploy hooks não são afectadas.

Exigir Sucesso de Encenação Primeiro

Require staging success before production retém uma implementação de produção acionada por push até que o ambiente de encenação tenha implementado o mesmo commit com sucesso. Alguém ainda pode aprovar manualmente para ignorar a espera.

CI Required Checks

Portão implementações no seu próprio CI em CI required checks. No GitHub, introduza nomes de trabalhos Actions separados por vírgulas e todos devem passar. No GitLab, qualquer valor não vazio aguarda todo o pipeline. Uma falha CI cancela a implementação Orbit automaticamente.

Deploy Freeze Schedule

Deploy freeze schedule bloqueia implementações acionadas por push fora de janelas aprovadas: um bloqueio de fim de semana, um intervalo de hora permitido ou ambos. Todos os tempos são UTC. As implementações manuais e deploy hooks não são afectadas.

Cada portão acima excepto o deploy freeze bloqueia apenas implementações acionadas por push. Deploy hooks e implementações manuais do painel passam directamente. Se um URL de hook vazar, nenhuma destas definições o impedirá de colocar uma compilação na fila. Trate URLs de hook como credenciais.

Ignorar Compilações de Que Não Precisa

  • Ignored paths: padrões glob separados por vírgulas. Se cada ficheiro num push corresponder, a compilação é ignorada. *.md,docs/** impede que commits de documentação acionem implementações.
  • Branch ignore patterns: pushes de ramos correspondentes são completamente ignorados. dependabot/*,renovate/* é o caso comum.
  • Git tag deploys: implementar para a produção quando uma tag correspondente é feita push, usando um glob como v*.

Cache de Compilação

Orbit coloca em cache node_modules entre compilações nos planos Liftoff e Apex. Quando uma instalação em cache é utilizada, a implementação mostra um distintivo Cache hit e a fase de instalação é dramaticamente mais curta. Uma compilação fria mostra Cold build em vez disso.

Para forçar uma reinstalação completa, abra Settings, depois Clear build cache e confirme. A próxima implementação para cada ambiente executa uma instalação completa do zero.

Se uma compilação falha de uma forma que não consegue explicar e o código está bem localmente, tente-a novamente com a cache limpa antes de começar a alterar qualquer coisa. Uma árvore de dependência em cache obsoleta é uma causa comum e muito confusa.

Quando uma Implementação Corre Mal

Orbit pode apanhar uma implementação má para si em vez de a deixar em directo:

  • Auto-rollback on failure restaura a última implementação saudável automaticamente se uma implementação de produção falhar.
  • Health check procura um caminho que escolhe após cada implementação de produção. Uma resposta não-2xx dentro de 15 segundos restaura a implementação saudável anterior.
  • Smoke tests executa pedidos GET em até 10 caminhos após cada implementação bem sucedida e regista aprovação ou falha. Combinado com auto-rollback, um teste de fumo falhado reverte a implementação.

Para desfazer uma implementação si mesmo, veja Reverter uma Implementação. Para descobrir porque é que uma compilação falhou, veja Resolução de Problemas de Compilações Falhadas.

Ainda precisa de ajuda?

Envie-nos um email para support@kapsulehost.com ou abra um chat no KPanel.

Abrir KPanel
Implementar o Seu Projeto