Atualizar um aplicativo
Visão geral
Você pode atualizar uma aplicação existente alterando sua configuração subjacente e, em seguida, implantando essas alterações. Há várias maneiras de fazer isso:
A IU de administração de usuário do App Services: uma aplicação da web incorporada ao MongoDB Atlas. Inclui uma IU gráfica para tudo o que você quiser configurar em sua aplicação.
O App Services CLI: uma ferramenta de linha de comando que você pode usar para configurar e distribuir sua aplicação localmente. Você trabalha diretamente com os arquivos de configuração subjacentes do seu aplicativo.
A API de administração: uma REST API que você pode usar para configurar e distribuir sua aplicação programaticamente. As solicitações da API de administração leem e gravam os arquivos de configuração subjacentes da sua aplicação.
Sistema automático do Github: uma integração do Github que sincroniza sua configuração da aplicação com um repositório do Github. Você pode usar o Github para managed os arquivos de configuração do seu aplicativo e implantar seu aplicativo por push das alterações no repositório.
Atualizar um aplicativo existente
Antes de começar
Você precisará do seguinte para atualizar uma aplicação na IU do Atlas:
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.
Você precisará do seguinte para atualizar um aplicativo 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 App Services CLI instalada e adicionada ao seu sistema local
PATH
. Para saber como, consulte Instalar App Services CLI.
Você precisará do seguinte para atualizar um 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.
Para atualizar um aplicativo com base em arquivos de configuração em um repositório do Github , você deve habilitar o sistema automático Github para o aplicativo.
Procedimento
Faça alterações em seu aplicativo
Comece fazendo quaisquer adições, modificações ou exclusões que você deseja incluir na implantação por meio da IU do App Services. Se você tiver esquemas habilitados, suas alterações serão salvas automaticamente como um esquema.
Observação
Você só pode criar alterações de rascunho por meio da interface do usuário do App Services ou da API Admin. Todas as alterações feitas com o GitHub ou com a App Services CLI são implantadas independentemente das alterações de esquema. Para evitar possíveis conflitos ou inconsistências, é melhor fazer as alterações em um local de cada vez.
Revisar alterações de esquema
Você pode revisar todas as alterações de esquema em seu aplicativo antes de implementá-las.
Clique em Deployment no menu de navegação esquerdo para navegar até a tabela de histórico de sistema do seu aplicativo. A linha superior da tabela representa todas as alterações de esquema que você fez desde a implantação anterior.
Clique no botão Review Draft and Deploy na linha superior para ver uma comparação dos arquivos de configuração do aplicativo subjacente que representam as alterações de esquema que você fez.
Observação
Talvez você queira baixar um rascunho de suas alterações devido a conflitos de mesclagem ou para salvar o rascunho fora da UI. Você pode fazer isso no modal Review Draft and Deploy clicando em Export State no canto superior direito. Você pode usar o download para distribuir suas alterações no appservices ou como referência ao reaplicar as alterações na UI.
Distribua uma nova versão da aplicação
Depois de revisar o esquema das alterações e confirmar que deseja implementá-las, clique em Deploy. O App Services implementa uma nova versão da sua aplicação que inclui as alterações de esquema. As aplicações de cliente usarão automaticamente a versão mais recente, portanto, certifique-se de atualizar também o código do cliente para usar a nova versão, se necessário.
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.
Atualize seu aplicativo
Adicione, exclua e modifique arquivos de configuração para os vários componentes do seu aplicativo.
Criar um novo rascunho (opcional)
Um rascunho representa um grupo de alterações para aplicação que você pode distribuir ou descartar como uma única unidade. Se você não criar um rascunho, as atualizações serão implementadas automaticamente de forma individual.
Para criar um rascunho, envie uma solicitação POST
sem corpo para o endpoint Criar um novo rascunho de implementação :
curl -X POST 'https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/drafts' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer <access_token>'
Importante
Um rascunho por usuário
Cada usuário pode criar somente um único rascunho por vez, por meio da UI ou da Admin API. Se você já tiver um rascunho existente, poderá descartar as alterações associadas a ele enviando uma solicitação de DELETE
para o endpoint Descartar um rascunho de implantação :
curl -X DELETE 'https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/drafts/{draftId}' \ -H 'Authorization: Bearer <access_token>'
Faça alterações em seu aplicativo
Você pode configurar seu aplicativo e adicionar, modificar ou excluir componentes chamando os pontos de conexão da API de administrador para cada operação. Para obter exemplos e informações de referência detalhadas, consulte Atlas App Services Admin API.
Se você não criou um rascunho, cada solicitação de API de administração bem-sucedida implantará imediatamente as atualizações associadas no aplicativo.
Se você criou um rascunho, cada solicitação bem-sucedida da API de administração adicionará as atualizações associadas ao rascunho. Envie solicitações para todas as alterações que você deseja incluir no rascunho.
Implantar o esquema
Se você criou um rascunho, poderá implantar todas as alterações no rascunho enviando uma solicitação POST
sem corpo para o endpoint Implantar um rascunho de implantação :
curl -X POST \ 'https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/drafts/{draftId}/deployment' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <access_token>' \
Com o sistema automático Github ativado, seu aplicativo sempre usa arquivos de configuração do commit mais recente no repositório vinculado. Para obter detalhes sobre como organizar e definir arquivos de configuração, consulte Configuração da aplicação.
Atualize seu aplicação adicionando, modificando e excluindo arquivos de configuração localmente.
Quando estiver pronto para implantar suas alterações, confirme os arquivos de configuração e envie-os por push para o Github:
git add -A git commit -m "<commit message>" git push origin <branch name>
Depois de fazer o push, a integração com o Github implementa automaticamente uma versão atualizada do seu aplicativo com base nos arquivos de configuração do commit mais recente.
Esquemas de distribuição
Um esquema de implantação é um conjunto de uma ou mais atualizações da sua aplicação que você pode aplicar ou descartar como um único grupo. A implantação de um esquema é útil quando suas alterações incluem serviços ou funções que interagem entre si.
A interface do usuário do App Services usa esquemas de implantação por padrão. Quando ativada, todas as alterações feitas na configuração do seu aplicativo na interface do usuário do App Services são adicionadas a um rascunho que você implanta manualmente. Você pode desativar os rascunhos da IU se preferir implantar imediatamente quando salvar na IU.
O App Services CLI e o Github Deployment criam e implantam rascunhos automaticamente para você. Quando você executa o comando push da CLI ou git push
em sua ramificação de sistema, a aplicação CLI ou Github cria uma comparação dos arquivos de configuração local em relação à configuração implantada no momento. Em seguida, ele cria e implementa um rascunho com base no diff.
A App Services Admin API permite criar e distribuir rascunhos manualmente. Para saber como, consulte Implantar um grupo de alterações.
Conflitos de rascunho
Evite que vários usuários façam alterações conflitantes na IU ou esquemas de API ao mesmo tempo. Se houver vários esquemas simultâneos que contenham alterações conflitantes, você não poderá implantar um ou mais dos esquemas.
Por exemplo, se você distribuir alterações por meio da API, mas tiver um Esquema da IU com alterações conflitantes, o esquema da IU se tornará inválido e você não poderá distribuí-lo.
Para se recuperar de um conflito, você pode baixar arquivos de configuração para um esquema de UI na página Deployment . Você pode usá-los como referência para reaplicar alterações na UI ou implantar as alterações diretamente com a CLI ou a API Admin.
Desabilitar esquema de implantação da interface do usuário
Você pode desabilitar os rascunhos da UI se preferir implantar imediatamente ao salvar na UI. Essa configuração não impede que você crie rascunhos manualmente com a API Admin.
Para desabilitar rascunhos de IU diretamente na IU:
Clique em Deployment no menu de navegação à esquerda
Clique na aba Configuration
No título Disable Drafts in Atlas App Services , clique em Disable Drafts e confirme sua decisão na janela modal.
Para desativar os rascunhos da interface do usuário com a API de administração, envie uma solicitação para o endpoint Configurar implantação com ui_drafts_disabled
definido como true
.
curl -X PATCH https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/deploy/config \ -H 'Authorization: Bearer <access_token>' \ -H 'Content-Type: application/json' \ -d '{ "ui_drafts_disabled": true, "automatic_deployment": { "enabled": false, "installationIds": [], "lastModified": 0 } }'