Nesta página

Última atualização: 21 de outubro de 2026

Mover um Serviço para Outro Projeto

Você pode mover um serviço de um projeto para outro sem refazer o build. O Guara Cloud copia a imagem que está rodando, sobe o serviço no projeto de destino e, quando ele fica saudável, remove a cópia antiga. A indisponibilidade é praticamente zero.

A movimentação é feita um serviço por vez.

Requisitos

Antes de mover um serviço, confira se:

  • Os dois projetos têm o mesmo Owner.
  • Você é Owner ou Admin nos dois projetos.
  • O projeto de destino está ativo.
  • O projeto de destino não tem um serviço com o mesmo nome.
  • O projeto de destino continua dentro do limite de serviços depois de receber o serviço.

O que ainda não pode ser movido

Por enquanto, os serviços abaixo não podem ser movidos. A janela de movimentação mostra o motivo antes da confirmação:

  • Serviços com armazenamento persistente ou volumes anexados.
  • Bancos de dados gerenciados e outros serviços do Catálogo de Serviços.
  • Serviços com um deploy em andamento.
  • Serviços usados como destino por um cron job do projeto atual. Remova ou altere o cron job antes.
  • Serviços que usam um banco de dados do projeto atual (as credenciais são injetadas automaticamente). Mover cortaria o acesso do serviço a esse banco.

Como mover

  1. Abra as configurações do serviço — acesse a página do serviço no dashboard e clique em Configurações.

  2. Inicie a movimentação — na seção Zona de Perigo, clique em Mover para outro projeto.

  3. Escolha o projeto de destino — só aparecem os projetos para onde a movimentação é possível. Se algo impedir a movimentação, a janela explica o motivo.

  4. Confirme — digite o nome do serviço e confirme. A página do serviço mostra o andamento e, ao final, leva você ao serviço no novo projeto.

Você também pode usar a CLI:

guara services move <servico> --to <projeto>

Use --yes para pular a confirmação e --wait para aguardar até a movimentação terminar.

O que acontece durante a movimentação

  1. A imagem em execução é copiada para o projeto de destino. Não há novo build.
  2. O serviço sobe no projeto de destino com a mesma configuração.
  3. Quando a nova cópia fica saudável, o serviço passa a pertencer ao projeto de destino e a cópia antiga é removida.

Enquanto a movimentação está em andamento, deploys, alterações de configuração, parar, iniciar e excluir ficam bloqueados para esse serviço.

Se a movimentação falhar antes da troca, nada muda: o serviço continua rodando no projeto original e você pode tentar de novo.

O que é mantido

  • A URL gerada. Ela continua com o nome do projeto antigo, então os links existentes seguem funcionando.
  • Os domínios customizados, sem nenhuma alteração de DNS.
  • As variáveis de ambiente e as configurações.
  • O histórico de deploys e os logs.

O que muda

  • Rede privada. Os projetos são isolados na rede. Depois da movimentação, os serviços que ficaram no projeto antigo não conseguem mais acessar o serviço movido pelo hostname interno, e o serviço movido passa a acessar os serviços do projeto de destino.
  • Variáveis de descoberta. As variáveis automáticas {NAME}_URL e {NAME}_HOST são recalculadas nos dois projetos. Veja Rede entre Serviços.

Perguntas frequentes

A URL do meu serviço vai mudar?

Não. A URL gerada e os domínios customizados continuam os mesmos. A URL gerada ainda contém o nome do projeto antigo.

Posso mover um serviço para um projeto de outra pessoa?

Não. Os dois projetos precisam ter o mesmo Owner. Para passar um projeto inteiro para outra pessoa, use a Transferência de Propriedade.

Posso mover vários serviços de uma vez?

Não. Mova um serviço por vez.