Menu Docs
Página inicial do Docs
/ /
Serviços Atlas App
/

Copiar um aplicativo

Nesta página

  • Visão geral
  • Antes de começar
  • Procedimento

Você pode fazer uma cópia de um aplicativo existente reutilizando os arquivos de configuração do aplicativo e portando segredos manualmente.

Talvez você queira copiar um aplicativo se:

  • Você usa ramificações de recursos para desenvolvimento. Use uma cópia exclusiva da aplicação para cada ramificação de recurso para evitar conflitos.

  • Você executa testes em uma versão funcional do aplicativo. Você pode copiar um aplicativo para cada execução de teste para garantir um estado inicial consistente.

  • Você implementa o mesmo aplicativo em clusters entre regiões usando um modelo de sistema local. Você pode copiar um aplicativo para atender a várias regiões localmente.

Você precisará do seguinte para copiar um aplicativo na CLI:

  • Uma conta do MongoDB Atlas com permissões de Proprietário do Projeto. Para saber como se inscrever em uma conta gratuita, consulte Comece a usar o Atlas.

  • Uma admin API do MongoDB Atlas par de chaves pública/privada. A chave da API deve ter permissões do Proprietário do projeto para trabalhar com o App Services Admin API.

  • Uma cópia da App Services CLI instalada e adicionada ao seu sistema local PATH. Para saber como, consulte Instalar App Services CLI.

Para copiar um aplicativo com base em arquivos de configuração em um repositório do Github , você deve ativar o sistema automático do Github para o aplicativo.

Aviso

Se o Sistema automático Github estiver ativado, não faça push de alterações em sua aplicação com o App Services CLI. Para obter mais informações, consulte Evitar fazer alterações do CLI.

1

Use sua chave de API Admin do MongoDB Atlas para fazer login na CLI:

appservices login --api-key="<my api key>" --private-api-key="<my private api key>"
2

Criar uma nova aplicação em branco. Escolha um nome e configure o modelo de implantação e região para ser o que você deseja que a aplicação copiada utilize. Para mais informações, consulte Criar uma aplicação.

Exemplo

# Create the new App
appservices app create \
--name "myapp-copy" \
--deployment-model "LOCAL" \
--provider-region "aws-us-west-2"
3

Os arquivos de configuração de uma aplicação não incluem os nomes ou valores de nenhum Segredo.

Você deve ter acesso aos valores de segredo existentes do aplicativo original e adicioná-los manualmente à novo aplicativo. Se seu aplicativo não tiver segredos, você pode pular esta etapa.

Para adicionar os segredos do seu aplicativo original:

  1. Obtenha os nomes de todos os segredos do aplicativo exportado seguindo a documentação de segredos de visualização.

  2. Salve os nomes de todos os segredos em um local seguro. A lista não incluirá os valores reais do segredo, mas é útil ter uma lista dos nomes secretos a serem adicionados ao seu novo aplicativo.

  3. Encontre o valor de cada um dos segredos do aplicativo original.

  4. Adicione cada segredo individualmente à nova aplicação. Para saber como, consulte Definir um segredo.

Importante

Adicionar segredos antes de copiar arquivos de configuração

Alguns recursos do App Services exigem que você tenha um ou mais Segredos definidos antes de definir e usar o recurso. Por exemplo, os provedores de autenticação OAuth exigem um segredo que contenha um valor clientSecret .

Se você enviar arquivos de configuração que fazem referência a segredos indefinidos, a implantação falhará.

4

Extraia a versão mais recente dos arquivos de configuração do seu aplicativo original para o seu sistema de arquivos local. Para saber como, consulte Exportar um aplicativo.

Exemplo

# Pull the config files for an existing App
appservices pull --remote="myapp-abcde"

Copie todos os arquivos de configuração da sua aplicação original, exceto root_config.json, para o novo diretório de configuração da aplicação. Você usar o root_config.json da nova aplicação e substituir quaisquer outros arquivos de configuração.

Exemplo

# Copy all configuration files except for root_config.json
cp -r myapp myapp-temp
rm myapp-temp/root_config.json
cp -r myapp-temp/* myapp-copy
rm -rf myapp-temp
5

Envie os arquivos de configuração que você copiou do seu aplicativo original. O novo aplicativo será atualizado e implantado automaticamente com os arquivos de configuração copiados.

Exemplo

# Navigate back to the new App
cd myapp-copy
# Push the copied configuration files to App Services
appservices push
1

Crie um novo diretório para armazenar os arquivos de configuração da aplicação copiada. Você pode criar um novo repositório para o aplicativo copiado ou manter as configurações dos dois aplicativos no mesmo repositório usando ramificações ou subdiretórios.

Exemplo

# Create a new directory for the copied App
mkdir myapp-copy
2

Criar uma nova aplicação em branco. Escolha o mesmo nome do aplicativo original e defina o modelo e a região de sistema como o que você deseja que o aplicativo copiado use. Para mais informações, consulte Criar uma aplicação.

Depois de criados, salve os arquivos de configuração da nova aplicação no diretório criado na etapa anterior, caso ainda não sejam.

Exemplo

# Navigate to the new App's directory
cd myapp-copy
# Create the new App. The create command saves the new
# App's configuration file directory in the current directory
appservices app create \
--name "myapp-copy" \
--deployment-model "LOCAL" \
--provider-region "aws-us-west-2"
cp -r myapp-copy/* .
rm -rf myapp-copy
# Navigate back to the root of the repo
cd ..
3

Na nova aplicação, configure e ative o Sistema automático Github. Certifique-se de ponto para o repositório, a ramificação e o diretório que você criou para o novo aplicativo, não para o aplicativo original.

4

Os arquivos de configuração de uma aplicação não incluem os nomes ou valores de nenhum Segredo.

Você deve ter acesso aos valores de segredo existentes do aplicativo original e adicioná-los manualmente à novo aplicativo. Se seu aplicativo não tiver segredos, você pode pular esta etapa.

Para adicionar os segredos do seu aplicativo original:

  1. Obtenha os nomes de todos os segredos do aplicativo exportado seguindo a documentação de segredos de visualização.

  2. Salve os nomes de todos os segredos em um local seguro. A lista não incluirá os valores reais do segredo, mas é útil ter uma lista dos nomes secretos a serem adicionados ao seu novo aplicativo.

  3. Encontre o valor de cada um dos segredos do aplicativo original.

  4. Adicione cada segredo individualmente à nova aplicação. Para saber como, consulte Definir um segredo.

Importante

Adicionar segredos antes de copiar arquivos de configuração

Alguns recursos do App Services exigem que você tenha um ou mais Segredos definidos antes de definir e usar o recurso. Por exemplo, os provedores de autenticação OAuth exigem um segredo que contenha um valor clientSecret .

Se você enviar arquivos de configuração que fazem referência a segredos indefinidos, a implantação falhará.

5

Copie todos os arquivos de configuração da sua aplicação original, exceto root_config.json, para o novo diretório de configuração da aplicação. Você usar o root_config.json da nova aplicação e substituir quaisquer outros arquivos de configuração.

Exemplo

# Copy all configuration files except for root_config.json
cp -r myapp myapp-temp
rm myapp-temp/root_config.json
cp -r myapp-temp/* myapp-copy
rm -rf myapp-temp
6

Confirme os arquivos de configuração do aplicação copiados e envie-os por push para o Github. O novo aplicativo será atualizado e implantado automaticamente com os arquivos de configuração copiados.

Exemplo

# Navigate back to the new App
cd myapp-copy
# Push the copied configuration files to GitHub
git add -A
git commit -m "Copy configuration from myapp"
git push origin main

Voltar

Atualizar um aplicativo