Orbit

Implementações de Pré-visualização de Ramificações em Orbit

Branch previews build every non-production, non-staging branch you push to its own isolated URL, so you can click through a change in a real environment before it merges. This guide covers turning…

Ativar Branch Previews

  1. Abra o seu projeto em Orbit.
  2. Abra o separador Settings.
  3. Encontre a secção Runtime e ative Branch previews.

Uma vez ativado, cada push para um ramo que não seja o seu ramo de produção nem o seu ramo de staging dispara uma construção e implementa-a no seu próprio ambiente de pré-visualização.

Branch previews toggle in Orbit project settings

Branch previews são um toggle por projeto, não um complemento pago. Estão disponíveis em todos os planos Orbit, incluindo o plano Launch gratuito. O que difere por plano é quantos ambientes um único projeto pode ter de uma vez: Launch permite 2 (produção mais uma pré-visualização), Liftoff 4, e Apex 11. Uma vez que um projeto atinge o seu limite de ambientes, outros ramos não receberão a sua própria pré-visualização até que você elimine uma.

URLs de Pré-visualização

Uma pré-visualização recebe um hostname derivado do nome do seu ramo: o nome é convertido para minúsculas, cada carácter que não seja uma letra, dígito ou hífen torna-se um hífen, sequências de hífens colapsam, e o resultado é truncado a 48 caracteres e prefixado com branch-.

RamoHostname de pré-visualização
redesignbranch-redesign.kaps.run
feat/new-checkoutbranch-feat-new-checkout.kaps.run
JB/Fix_Cartbranch-jb-fix-cart.kaps.run

Os URLs de pré-visualização são publicamente alcançáveis por qualquer pessoa que tenha a ligação. Não são indexados nem publicados, mas também não são controlados por acesso. Não use uma pré-visualização para rever nada que não deve sair da sua equipa, e não aponte uma pré-visualização para dados de produção. Se precisar de um ambiente de pré-produção protegido, utilize um ambiente de staging em vez disso: staging suporta uma palavra-passe e uma lista de permissões de IP sob Settings, nas secções Staging: access protection e Staging: IP allowlist.

Onde as Pré-visualizações Aparecem

O separador Overview do projeto tem uma secção Preview deployments que lista todas as pré-visualizações ativas. Cada linha mostra:

  • O nome do ramo, e um crachá PR #number ligando ao pull request quando o ramo tem um aberto
  • O estado atual (QUEUED, BUILDING, ou ativo)
  • Há quanto tempo foi implementado
  • Uma ligação para abrir o URL de pré-visualização
  • View logs para abrir a página de detalhes da implementação
  • Um botão de eliminar

Cada pré-visualização é um ambiente completamente isolado com o seu próprio URL, a sua própria construção e as suas próprias variáveis de ambiente. Nada do que faz pode afetar a produção.

O separador Branches do projeto fornece a mesma informação organizada por ramo, o que é mais fácil de analisar quando tem vários abertos de uma vez.

Variáveis de Ambiente em Pré-visualizações

Esta é a parte que vale a pena acertar. Uma variável com escopo All environments (project-wide) é injetada em construções de pré-visualização, e um URL de pré-visualização é público.

  • Mantenha as credenciais de produção com escopo apenas para o seu ambiente de produção.
  • Dê às pré-visualizações credenciais de modo de teste ou sandbox para serviços de terceiros.
  • Nunca deixe um URL de base de dados de produção ou uma chave de pagamento ativa com escopo em todo o projeto.

A mecânica completa, incluindo como adicionar uma variável apenas para produção e como funciona a herança de staging, está em Setting Environment Variables Per Environment.

Registos de Construção para uma Pré-visualização

Clique em View logs ao lado de qualquer pré-visualização para abrir a sua página de detalhes da implementação. As pré-visualizações recebem o mesmo tratamento que as implementações de produção: registo de construção em streaming completo, fases de construção, commit e autor, tamanho de artefato, acerto de cache ou construção a frio, framework e gestor de pacotes detetados, e o botão de diagnóstico IA quando uma construção falha.

Eliminar uma Pré-visualização

Clique no botão de eliminar na linha de pré-visualização e confirme.

Eliminar uma pré-visualização remove o ambiente e todo o seu histórico de construção, não apenas a implementação atual. Não pode ser desfeito. O ramo em si não é tocado, portanto fazer push para ele novamente cria uma pré-visualização nova do zero, sem histórico e com uma cache de construção a frio.

Limpeza Automática

Não tem que se preocupar em limpar após si próprio.

  • Quando um pull request é fechado ou incorporado, o seu ambiente de pré-visualização é imediatamente pausado e para de servir. Os visitantes recebem um 404 em vez de uma construção obsoleta.
  • Eliminar um ramo pausa a pré-visualização desse ramo da mesma forma.
  • As pré-visualizações pausadas são colectadas como lixo cerca de um dia depois: os tarballs de origem, artefatos de construção e caches de construção são eliminados e o ambiente é arquivado.

Também pode expirar pré-visualizações em um cronograma. Em Settings, encontre Preview expiry e escolha Never, 7, 14, 30 ou 60 dias. As pré-visualizações com mais de isso são pausadas automaticamente e limpas dentro de 24 horas.

Em um repositório ocupado, defina Preview expiry para 14 ou 30 dias. Cada pré-visualização ativa conta contra o limite de ambientes do seu projeto, e as expiradas são a razão habitual pela qual um novo ramo silenciosamente falha em receber uma pré-visualização.

Aprovação e Pré-visualizações

Se Require approval for production está ativado em Deploy protection, aplica-se apenas à produção. As construções de pré-visualização não são retidas para aprovação.

Para evitar que uma pré-visualização específica implemente alterações adicionais sem a eliminar, pause o ambiente a partir do separador Environments. As novas implementações em um ambiente pausado são ignoradas até que o retome.

Resolução de Problemas

Um ramo foi enviado mas nenhuma pré-visualização apareceu. Verifique, por ordem: Branch previews está ativado em Settings, depois Runtime? O ramo é realmente o seu ramo de staging (staging implementa no staging, não em uma pré-visualização)? O ramo corresponde a um dos seus Branch ignore patterns, por exemplo dependabot/*? O projeto já está no seu limite de ambientes para o seu plano?

A pré-visualização foi construída mas mostra um 404. A construção foi bem-sucedida mas o diretório de saída é provavelmente incorreto para este ramo. Verifique Output directory em Settings, e lembre-se de que um ramo pode alterar a saída da construção sem alterar a definição. Consulte Configuring Your Build Command and Output Directory.

A pré-visualização mostra um commit mais antigo. Fazer push de um novo commit enquanto uma construção para o mesmo ramo ainda está em execução cancela a construção em voo e inicia uma nova. Se vir uma implementação cancelada seguida por uma em execução, isso é esperado. Aguarde a segunda construção.

A pré-visualização de um PR fechado ainda é alcançável. A pausa acontece no evento de webhook. Se a conexão do fornecedor foi desconectada quando fechou o PR, o evento nunca chegou. Elimine a pré-visualização manualmente a partir do separador Overview.

Leitura Relacionada

Ainda precisa de ajuda?

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

Abrir KPanel
Implementações de Pré-visualização de Ramificações em Orbit