Todos os artigos
Getting Started
O que é o CICDoo Primeiros passos: o assistente de configuração O Painel e o Mapa da infraestruturaConcepts
Fases de produção, staging e desenvolvimento Domínios, subdomínios e SSL Versões e edições do Odoo (Community ou Enterprise) Espaços de trabalho e colaboração em equipaServers
Adicionar um servidor Domínios do servidor e DNS Utilizar um balanceador de carga Ações do servidor: deploy, registos e gráficosProjects & Git
Criar um projeto Ligar o GitHub Ligar o GitLab Ramos e instânciasInstances & Console
Criar uma instância Reiniciar, parar e remover uma instância Fazer merge de ramos entre fases Web IDE e acesso remoto As definições da instância explicadas Deploys e a fila de tarefasAgent Tasks
O que são as tarefas de agente Configurar as tarefas de agente Executar uma tarefa e rever o resultado Tempo de agente e recargasMonitoring & Backups
Monitorizar a instância Cópias de segurança e restauro Notificações de alerta (email e SMS)Workspaces & Permissions
Convidar membros do espaço de trabalho Permissões de membro e acesso a recursos Um membro não consegue ver ou usar um recursoAccount & Security
Autenticação de dois fatores (2FA) Definições de perfil e integrações Palavras-passe e recuperação da contaBilling & Plans
Planos e preços Fazer upgrade e gerir a subscrição Se a subscrição de um projeto ficar por pagar O programa de parceiros de canalSupport & Tickets
Abrir um ticket de suporte Obter ajuda da equipa CICDooTroubleshooting
Resolução de problemas: não é possível ligar um servidor Resolução de problemas: um deploy falhou Resolução de problemas: git push falha com 403 depois de mover um repositório Resolução de problemas: a instância está em baixo ou lenta Resolução de problemas: problemas de domínio ou SSLResolução de problemas
Resolução de problemas: git push falha com 403 depois de mover um repositório
Porque é que o push devolve 403 depois de transferires ou mudares o nome de um repositório do GitHub, e como reapontá-lo com Ressincronizar do GitHub para os pushes voltarem a funcionar.
Porque é que o fetch funciona mas o push falha
Quando transferes um repositório para uma organização (ou lhe mudas o nome) no GitHub, o antigo caminho owner/repo continua a existir como redirecionamento. O GitHub encaminha discretamente o fetch e o clone para a nova localização, por isso os pulls continuam a funcionar e parece estar tudo bem, até fazeres push.
O push não é redirecionado. O GitHub rejeita um push para o caminho antigo com um 403 (permissão negada), porque o CICDoo e a tua instância continuam a ter o proprietário antigo guardado como remoto. A solução é apontar o CICDoo para o novo proprietário e deixar as tuas instâncias apanharem a alteração.
Corrigir o repositório principal
- Abre o projeto e vai a Definições, depois ao separador GitHub.
- O campo Repositório é de leitura apenas de propósito. Clica em Ressincronizar do GitHub: o CICDoo pergunta ao GitHub qual é o nome atual do repositório e atualiza o proprietário automaticamente. O campo passa a mostrar o novo
owner/repo. - Reinicia cada instância do projeto. Ao reiniciar, a instância reaponta o seu checkout para o novo proprietário. Os teus ficheiros e as alterações por submeter no editor ficam intocados, muda apenas o URL do remoto. Consulta Reiniciar, parar e remover uma instância.
Depois do reinício, corre outra vez o teu push a partir do terminal do editor. Deve funcionar em vez de devolver 403.
Submódulos e Repositórios adicionais
Se o que mudou foi um submódulo (uma entrada em Repositórios adicionais), normalmente não tens de fazer nada: uma instância em execução deteta a mudança e reaponta esse submódulo sozinha em cerca de dez segundos, por isso o push seguinte funciona.
Se o submódulo estiver alojado fora do GitHub, ou se preferires ser explícito, edita o respetivo URL nas Definições da instância, no subseparador Odoo, em Repositórios adicionais, e reinicia a instância. Os submódulos são clonados de novo a partir dessa lista em cada reinício, por isso o novo URL entra em vigor de imediato. Consulta As definições da instância explicadas.
Se a ressincronização não encontrar o repositório
A ressincronização usa o token do GitHub ligado ao proprietário do repositório. Se o token já não tiver acesso ao repositório movido (por exemplo, porque foi transferido para uma organização que o token não consegue ver), a ressincronização reporta que não conseguiu encontrar o repositório. Volta a ligar o GitHub ou dá ao token acesso ao novo proprietário, e tenta outra vez. Consulta Ligar o GitHub.
Se ficares bloqueado, abre um ticket de suporte a partir da página Tickets ou do widget de chat.
Ainda com dúvidas? Abra um ticket a partir da aplicação ou fale com um engenheiro.