Orbit
Ligar um Repositório GitLab
GitLab connects to Orbit through OAuth rather than an installed app: you authorise Kapsule once, Orbit lists the projects your GitLab account can reach, and it registers a webhook per repository so…
Ligar um Repositório do GitLab
GitLab liga-se ao Orbit através de OAuth em vez de uma aplicação instalada: autoriza a Kapsule uma vez, o Orbit lista os projetos que a sua conta do GitLab consegue alcançar, e regista um webhook por repositório para que cada push desencadeie uma compilação. Este guia aborda a ligação, a seleção de um repositório, o condicionamento de implementações ao seu pipeline do GitLab, e as razões habituais pelas quais um repositório não aparece.
Antes de Começar
O Orbit só consegue ver projetos do GitLab que a sua própria conta consegue ver. Para um projeto pertencente a um grupo, precisa de pelo menos acesso de Developer, e precisa de permissão suficiente para que um webhook seja criado no repositório. Se a sua instância do GitLab restringe webhooks de saída, essa restrição aplica-se aqui também.
Passo 1: Ligar o GitLab
- No KPanel, clique em Orbit na barra lateral esquerda.
- Clique em New project.
- Deixe o modo definido como Import Git Repo.
- No passo 1, clique em Connect GitLab.
É enviado para o GitLab para autorizar a aplicação Kapsule Orbit. Aprove os escopos solicitados e o GitLab devolve-o ao KPanel com os seus repositórios carregados. O passo 1 mostra então Just connected.
Se a ligação falhar, o KPanel mostra o erro que o GitLab devolveu em vez de uma mensagem genérica. Leia-o antes de tentar novamente: uma recusa de escopo e uma autorização expirada precisam de correções diferentes.
Passo 2: Selecionar um Repositório
Os seus repositórios acessíveis aparecem como uma lista. Clique em Select junto ao que deseja. Repositórios privados têm um crachá Private; o Orbit implementa repositórios públicos e privados igualmente.
Se um Repositório Estiver em Falta
- Verifique a sua função no projeto. O acesso de Reporter não é suficiente; precisa de pelo menos Developer.
- Se o projeto pertence a um grupo, confirme que a sua associação está no grupo ou no próprio projeto, não apenas num grupo antepassado com uma função restrita.
- Clique em Reconnect GitLab no passo 1 para re-executar o fluxo de OAuth. Isto atualiza o token e relê a sua lista de projetos.
Se o painel mostra No repos accessible, a concessão de OAuth foi bem-sucedida mas não devolveu nada. Volte a ligar e verifique que aprovou os escopos de repositório em vez de um conjunto reduzido.
Passo 3: Configurar o Seu Projeto
| Campo | O que faz |
|---|---|
| Project Name | O nome de apresentação no KPanel, por exemplo my-app |
| Deploy URL | O subdomínio sob kaps.run, por isso my-app torna-se my-app.kaps.run |
Clique em Create project. O Orbit clona o repositório, coloca a primeira compilação na fila, e leva-o à descrição geral do projeto.
O slug da Deploy URL é fixo na criação e não pode ser alterado mais tarde. Para publicar num endereço diferente, anexe um domínio personalizado em vez disso. Veja Adding a Custom Domain to Your Project.
Implementações Automáticas
O Orbit regista um webhook no seu repositório do GitLab quando o projeto é criado. Depois disso:
- Um push para o seu ramo de produção coloca uma implementação de produção na fila.
- Um push para qualquer outro ramo constrói uma pré-visualização isolada em
branch-<branch-name>.kaps.run, se as Branch previews estiverem ativadas em Settings sob Runtime. Veja Branch Preview Deployments in Orbit. - Eliminar um ramo pausa o seu ambiente de pré-visualização, e o armazenamento é recuperado dentro de cerca de um dia.
Não cria ou mantém o webhook manualmente.
Aguardar o Seu Pipeline do GitLab CI
Se executa testes no GitLab CI, o Orbit pode reter a implementação até que o pipeline seja bem-sucedido.
- Abra o projeto, depois Settings.
- Procure CI required checks.
- Introduza qualquer valor não vazio e guarde.
No GitLab, o valor propriamente dito não é correspondido contra nomes de trabalhos: qualquer valor não vazio diz ao Orbit para aguardar que o pipeline completo seja bem-sucedido. Uma falha de pipeline cancela a implementação do Orbit automaticamente. Isto aplica-se apenas a implementações desencadeadas por push no ramo de produção.
É aqui que os dois fornecedores diferem. O GitHub corresponde o valor contra trabalhos de Actions nomeados; o GitLab trata qualquer valor como "aguardar pelo pipeline inteiro". Se está a copiar configurações entre um projeto GitHub e um projeto GitLab, não espere que o mesmo campo se comporte de forma idêntica.
Voltar a Ligar ou Desligar o GitLab
- Clique em Orbit, depois New project.
- No passo 1, clique em Reconnect para re-executar o fluxo de OAuth, ou Disconnect para remover a ligação.
Reconnect é o primeiro movimento correto sempre que a listagem de repositórios deixa de funcionar: os tokens de OAuth expiram, e reconectar cunha um novo.
Desligar mantém os seus projetos e o seu histórico de implementação, e a implementação ao vivo continua a servir tráfego. O que para é a implementação desencadeada por push. Os hooks de implementação também deixam de funcionar, porque um hook tem de ler a cabeça do ramo através da ligação do fornecedor para saber o que compilar.
Leitura Relacionada
- Deploying Your Project para o ciclo completo de implementação, bloqueios de implementação e aprovações
- Troubleshooting Failed Builds se a primeira compilação não for bem-sucedida
- Connecting a GitHub Repo e Connecting a Bitbucket Repo para os outros fornecedores