Configurar um ambiente de aplicativo
Nesta página
Visão geral
Os ambientes de aplicação são uma forma de organizar seu fluxo de trabalho de desenvolvimento e reutilizar o código de maneira eficaz. Você pode utilizar ambientes de aplicação para definir diversas versões de valores de configuração global e, em seguida, alternar entre elas alterando o ambiente atual da aplicação.
O App Services oferece suporte a um conjunto de nomes de ambiente incorporados que representam um estágio do seu fluxo de trabalho de desenvolvimento:
""
"development"
"testing"
"qa"
"production"
Valores ambientais
Para cada ambiente, você pode definir um conjunto de valores de ambiente que estão disponíveis para seu aplicativo quando esse ambiente está ativo.
Por exemplo, você pode utilizar valores diferentes para a configuração baseUrl
de uma API, dependendo do fato de estar desenvolvendo um novo recurso ou implantando na produção.
Os valores para um ambiente são armazenados como um único objeto JSON. Você pode definir os nomes de campo e os valores correspondentes para o que você quiser.
Você pode acessar valores do ambiente atual por nome de campo:
Use context.environment em funções.
Use
%%environment
em expressões de regras.Use configurações modeladas nos arquivos de configuração do seu aplicativo.
Como usar os Ambientes
Cada tag de ambiente representa um estágio específico do seu processo de desenvolvimento. Você pode definir um aplicativo separado para cada ambiente, em que cada aplicativo utiliza o mesmo conjunto de arquivos de configuração, mas tem uma tag de ambiente diferente. Para saber como fazer isso, consulte Copiar um aplicativo.
Por exemplo, um processo de desenvolvimento típico pode ter três estágios de desenvolvimento: development
, testing
e production
. Você poderia usar um aplicativo separado para cada estágio e usar valores de ambientes diferentes para cada aplicativo.
Você também pode usar aplicativos exclusivos para testar ramificações de recursos individuais. Por exemplo, você pode ter um aplicativo development
principal que os desenvolvedores bifurcam para suas ramificações de recursos. Quando uma ramificação de recurso se move para testar, você pode usar o aplicativo principal testing
em vez disso.
Para saber como incorporar ambientes ao seu fluxo de trabalho de CI/CD, consulte Configurar um pipeline de CI/CD. Para obter um exemplo completo que gerencia testes, distribuição e outras tarefas para uma aplicação real, consulte: Como construir pipelines CI/CD para aplicações do App Services usando ações do Github .
Antes de começar
Você precisará do seguinte para definir um ambiente de aplicação na IU do Atlas:
Uma conta do MongoDB Atlas com permissões de Proprietário do Projeto. Para saber como criar uma conta gratuita, consulte Comece a usar o Atlas .
Você precisará do seguinte para definir um ambiente de aplicação no CLI:
Uma conta do MongoDB Atlas com permissões de Proprietário do Projeto. Para saber como criar 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 CLI do App Services instalada e adicionada ao seu sistema local
PATH
. Para saber como, consulte Como instalar CLI do App Services.O ID do aplicativo do cliente do seu aplicativo. Esta é a string exclusiva que contém o nome do seu aplicativo, por exemplo
"myapp-abcde"
. Para saber como encontrar sua ID do aplicativo, consulte Obter metadados do aplicativo.
Você precisará do seguinte para definir um ambiente de aplicativo com a API de administrador:
Uma conta do MongoDB Atlas com permissões de Proprietário do Projeto. Para saber como criar 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.
A string hexadecimal ObjectId interna do seu aplicativo e o ID do Projeto do Projeto Atlas que contém seu aplicativo. Para saber como encontrá-los, consulte Obter metadados do aplicativo.
Procedimento
Obtenha a versão mais recente da sua aplicação
Obtenha uma cópia local dos arquivos de configuração do seu aplicativo. Para obter a versão mais recente do seu aplicativo, execute o seguinte comando:
appservices pull --remote="<Your App ID>"
Você também pode exportar uma cópia dos arquivos de configuração do aplicativo da interface do usuário ou com a API Admin. Para saber como, consulte Exporte um aplicativo.
Definir um ou mais ambientes
O diretório /environments
contém um arquivo .json
para cada marcação de ambiente suportada. Cada arquivo define todos os valores de ambiente para seu ambiente correspondente.
O App Services é compatível com as seguintes tags de ambiente:
""
"development"
"testing"
"qa"
"production"
Abra o arquivo para cada ambiente que você deseja usar. Em cada arquivo, adicione uma entrada ao subdocumento do values
que mapeia o nome do valor para seu valor nesse ambiente.
Exemplo
As seguintes configurações definem o valor de ambiente do baseUrl
nos ambientes do production
e development
.
{ "values": { "baseUrl": "https://example.com" } }
{ "values": { "baseUrl": "https://dev.example.com" } }
Autenticar um usuário do MongoDB Atlas
Chame o endpoint de autenticação do usuário administrador com seu par de chaves da API do MongoDB Atlas:
curl -X POST \ https://services.cloud.mongodb.com/api/admin/v3.0/auth/providers/mongodb-cloud/login \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{ "username": "<Public API Key>", "apiKey": "<Private API Key>" }'
Se a autenticação for bem-sucedida, o corpo da resposta conterá um objeto JSON com um valor access_token
:
{ "access_token": "<access_token>", "refresh_token": "<refresh_token>", "user_id": "<user_id>", "device_id": "<device_id>" }
O access_token
concede acesso à App Services Admin API. Você deve incluí-lo como um token do portador no cabeçalho Authorization
para todas as solicitações de API Admin.
Definir valores de ambiente
Você pode definir valores de ambiente para sua aplicação chamando o endpoint Criar um valor de ambiente . Cada valor de ambiente tem um nome e um objeto values
que mapeia as marcações de ambiente para o valor no ambiente.
curl -X GET \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/environment_values/{environmentValueId} \ -H 'Authorization: Bearer <access_token>' \ -d '{ "name": "myEnvironmentValue", "values": { "none": "alpha", "development": "beta", "testing": "gamma", "qa": "delta", "production": "epsilon" } }'
Defina o ambiente do seu aplicativo
Você pode definir a tag de ambiente do seu aplicativo chamando o endpoint Set the App Environment .
curl -X PUT \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/environment \ -H 'Authorization: Bearer <access_token>' \ -d '{ "environment": "production" }'