package.json ou o requirements.txt mudou. Nada de .zip, workflow ou chave de API guardada no repositório.
A Cube só lê o código dos repositórios que você liberar e nunca escreve neles.
1. Conecte o GitHub
- No painel, abra Integrações e clique em Conectar o GitHub.
- O GitHub abre a página do app Cube Hosting Deploy. Escolha onde instalar: a sua conta ou uma organização.
- Em Repository access, marque Only select repositories e escolha os repositórios que a Cube pode ler. Clique em Install.
- O GitHub pede para autorizar o app com a sua conta. Isso confirma que a instalação é sua, e a Cube não guarda nada dessa autorização.
- Você volta ao painel com o aviso GitHub conectado e vê os repositórios liberados.
2. Hospede um repositório
No painel, clique em Novo projeto e escolha a aba GitHub:- Escolha o repositório (dá para buscar pelo nome) e a branch.
- Clique em Analisar e configurar. A Cube baixa o último commit da branch e mostra o que achou, como no envio do
.zip: linguagem, versão, arquivo principal e comando de início. Umcube.jsonna raiz do repositório preenche a configuração. - Confira e clique em Enviar e instalar.
Ligar um projeto que já existe
Na página do projeto, abra Configurações › Deploy:- Em Modo de deploy, escolha GitHub.
- Em Repositório, escolha o repositório; em Branch, a branch.
- Deixe Deploy a cada push ligado (desligado, o código só muda quando você clicar em Implantar agora).
- Clique em Salvar alterações.
.zip, escolha Envio de .zip no mesmo lugar e salve.
O que acontece em cada push
- Só a branch escolhida conta. Push em outra branch, tag ou branch apagada não mexe no projeto.
- A Cube baixa o commit do push e troca todos os arquivos do projeto pelos do repositório, como no envio de um
.zipnovo. As pastasnode_modules,venv,.venv,.gite__pycache__ficam de fora. - As dependências só são instaladas de novo se o
package.json(com o lock) ou orequirements.txtmudou. O build docube.jsonroda de novo. - Se o projeto estava no ar, ele volta com o código novo. Parado, continua parado.
- Chegou um push enquanto uma instalação ainda roda? A Cube espera ela terminar e implanta o push mais novo.
- A configuração do projeto (tipo, comando, memória, versão) continua a de Configurações › Geral; o
cube.jsonsó vale na criação.
Implantar agora
Em Configurações › Deploy, Implantar agora manda na hora o último commit da branch, pelo mesmo caminho do push. Serve para o primeiro deploy depois de ligar o GitHub e para quando o deploy a cada push está desligado.Histórico de envios
Cada push e cada Implantar agora aparecem no Histórico de envios (Configurações › Deploy) com o commit: os 7 primeiros caracteres, a mensagem e quem fez, além do resultado da instalação. O código de cada commit implantado fica guardado como versão, para baixar ou voltar para ele: veja Versões e voltar atrás. Quando o deploy para antes da instalação, o histórico diz o motivo e nada muda no projeto:
O resultado de cada deploy aparecendo no próprio commit, no GitHub, Em breve.
Desconectar
Em Integrações, Desconectar tira o app da conta ou organização no GitHub. Os projetos ligados a ela voltam ao envio de.zip, e o que está no ar continua no ar. Remover o app direto nas configurações do GitHub tem o mesmo efeito.
Se o GitHub não responder na hora, a Cube desliga a conexão do mesmo jeito e avisa que o app ficou instalado lá. Para tirar, abra Repositórios no GitHub e clique em Uninstall.
Segurança
- O app pede só leitura do conteúdo dos repositórios que você escolher. Ele não escreve, não abre pull request e não vê os outros repositórios.
- A conexão fica presa à conta da Cube que clicou em Conectar, e só o dono da instalação conecta: a própria conta pessoal do GitHub ou, numa organização, quem administra todos os repositórios liberados (a Cube fica só com esses). Um colaborador ou membro sem esse acesso não liga a sua instalação à conta dele, e a mesma instalação não fica em duas contas.
- Cada download usa uma autorização do GitHub que vale 1 hora e só para aquele repositório, e ela nunca é guardada.
- O código do repositório passa pelo mesmo caminho seguro do
.zip: é conferido e instalado separado de todos os outros projetos. Veja Segurança.

