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

Implementar automaticamente com o GitHub

Nesta página

  • Visão geral
  • Pré-requisitos
  • Habilitar a implantação automática com GitHub
  • Fazer alterações na interface do usuário
  • Fazer alterações por meio da CLI
  • Resumo

Você pode configurar um aplicativo do Atlas App Services para ser implantado automaticamente sempre que você enviar os arquivos de configuração do aplicativo para um GitHub repositório. Você pode clonar o repositório do GitHub ao seu computador e usar os comandos padrão do Git para puxar as versões mais recentes e implementar novas alterações.

  • Um conta e Github repositório. O repositório deve estar vazio ou conter um diretório de configuração exportado para uma aplicação existente. Para obter informações sobre como criar um repositório vazio, consulte Github Criar um repositório do guia.

  • Uma cópia instalada do Git CLI. Se você não tiver git o instalado, consulte o guia oficial para Instalar o Git.

  • Uma Chave de API programática do MongoDB Atlas para autenticar e autorizar o acesso ao repositório Git subjacente do seu app. Se ainda não gerou uma chave de API programática para a sua organização Atlas, faça isso agora.

Você pode habilitar a implantação automática com o GitHub usando a UI do App Services, o App Services CLI ou o App Services Admin API.

1

Para distribuir automaticamente com base em um repositório GitHub, o Atlas App Services requer que você instale uma aplicação GitHub que tenha, no mínimo, acesso de leitura ao repositório.

Para instalar a aplicativo, clique em Deployment no menu de navegação esquerdo da UI do App Services. Selecione a aba Configuration e clique em Install App Services on GitHub. Uma nova janela do navegador será aberta no fluxo de instalação da aplicativo GitHub.

Observação

Autenticação do GitHub

O GitHub pode exigir que você forneça suas credenciais de conta do GitHub antes de poder instalar a aplicação.

Selecione a conta ou organização do GitHub para a qual deseja instalar o aplicativo:

Tela de localização de instalação do aplicativo GitHub

Especifique um ou mais repositórios para os quais você deseja conceder acesso de leitura ao App Services. Você pode selecionar repositórios específicos ou conceder acesso a todos os seus repositórios no GitHub. Selecione os repositórios que deseja usar e clique em Install.

Tela de solicitação de permissões do aplicativo GitHub

Depois de instalar o aplicativo, volte à aba Configuration e clique no botão Authorize para concluir a conexão do App Services ao GitHub. Isso o leva a uma tela de permissões do Github. Clique em Authorize MongoDB Atlas App Services.

Tela de solicitação de autorização do aplicativo GitHub

Observação

Permissões do GitHub

Você pode gerenciar permissões para o aplicativo GitHub do App Services na página Aplicativos GitHub Instalados nas configurações do GitHub.

2

Depois de vincular sua conta do GitHub ao seu aplicativo, você pode especificar um repositório que o App Services deve implantar automaticamente. Especifique o Repository, Branch e Directory que contêm os arquivos de configuração do aplicativo e clique em Save.

Seleção de repositório do GitHub

Observação

A lista de repositórios conterá apenas os repositórios aos quais você concedeu ao App Services acesso de leitura.

3

Clone uma cópia local do repositório Git que você especificou:

git clone https://github.com/<organization>/<repo>.git

A ramificação e o diretório configurados devem conter arquivos de configuração que definam seu aplicativo. Você pode criar a configuração manualmente ou exportar o diretório do aplicativo de um aplicativo existente.

Adicione o diretório de aplicativos ao repositório e, em seguida, confirme as alterações:

git add -A
git commit -m "Adds App Services Application Directory"

Depois de ter cometido a versão mais recente da aplicação ao repositório, envie-a para o repositório do GitHub:

git push origin <branch name>
4

Depois de especificar um repositório para implantá-lo e inicializá-lo com a versão mais recente do seu aplicativo, você precisará habilitar a implantação automática para começar a implantá-lo. Na aba Configuration da página Deploy, clique em Enable Automatic Deployment. No modal que aparece, clique em Enable Automatic Deployment para confirmar sua seleção.

Habilitar a implantação automática do GitHub na interface do usuário do App Services
5

Um sistema contém uma ou mais alterações que você fez em sua aplicação desde a implantação anterior. Faça quaisquer adições, modificações ou exclusões no repositório que você deseja incluir em seu sistema.

Consulte a página de referência da Configuração do aplicativo e as páginas de referência de componentes individuais para obter detalhes sobre a estrutura e o esquema do diretório do aplicativo.

Importante

Não faça alterações significativas no esquema por meio de implantação automatizada

Como as alterações de esquema significativas - também chamadas de destrutivas - exigem um tratamento especial, o App Services não oferece suporte à realização de alterações significativas de esquema por meio de implantação automatizada com o GitHub. Em vez disso, você deve fazer alterações significativas na interface do usuário do App Services.

6

Depois de atualizar a configuração do aplicativo, você pode implantar as atualizações como uma nova versão de seu aplicativo, enviando-as para o repositório do GitHub que você especificou. Se a Implantação Automática do GitHub estiver habilitada, o App Services implanta imediatamente o commit mais recente para a ramificação e o diretório configurados

Quando estiver pronto para implantar, confirme todos os arquivos que deseja incluir e envie-os por push para o GitHub:

git add -A
git commit -m "<commit message>"
git push origin <branch name>

Depois que você fizer push das alterações no GitHub, o App Services distribuirá imediatamente uma nova versão da sua aplicação que corresponda ao estado do cometimento mais recente. 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.

Observação

Histórico de implantação

Você pode ver a versão atualmente implantada do seu aplicativo, bem como um registro histórico de implantações anteriores na tabela Histórico de implantações na interface do usuário do App Services.

Novidades na versão 1.1.0.

Você pode usar a CLI para configurar, habilitar ou desabilitar a implementação automática.

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

O App Services CLI pode orientá-lo no processo de configuração da implantação automática. Esse é um comando interativo.

appservices deploy configure

O comando também oferece suporte a sinalizadores adicionais que você pode incluir opcionalmente. Para obter informações sobre esses sinalizadores, consulte appservices deployment configure.

O App Services CLI permite imediatamente a implementação automática quando você conclui esse comando. Você não precisa executar o comando enable como uma etapa adicional.

Dica

A configuração da implantação automática via CLI depende de um recurso beta do Github

A capacidade de configurar a implantação automática usando o App Services CLI depende de um recurso do Github que está atualmente em beta. Se o Github fizer uma alteração interruptiva nesse recurso, talvez você não consiga configurar a implantação automática usando a App Services CLI. Nesse caso, use o Realm UI ou a API Admin para configurar o sistema automático.

O recurso beta do Github afeta apenas a configuração da implantação automática. Se você configurou anteriormente a implantação automática para sua aplicação, poderá habilitá-la ou desativá-la usando a App Services CLI, independentemente do status desse recurso beta do Github.

3

Você pode usar a App Services CLI para exibir os detalhes da configuração após configurar o sistema automático.

appservices deploy describe

Você também pode desabilitar e habilitar o sistema automático usando o App Services CLI. Para obter mais informações sobre esses comandos e suas opções, consulte appservices deployment.

1

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 de portador no cabeçalho Authorization para todas as solicitações da App Services Admin API.

2

Você pode obter a configuração de implantação existente para seu aplicativo fazendo uma solicitação de GET para o endpoint Get the Deployment Configuration .

curl -X GET \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/deploy/config \
-H 'Authorization: Bearer <access_token>'
3

Você pode atualizar a configuração de implantação existente para sua aplicação fazendo uma solicitação de PATCH para o endpoint Configurar implantação .

curl -X PATCH \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/deploy/config \
-H 'Authorization: Bearer <access_token>' \
-d '{
"ui_drafts_disabled": true,
"automatic_deployment": {
"enabled": true,
"provider": "github",
"installation_ids": [
"string"
]
},
"last_modified": 0
}'

A implantação automática do GitHub não impede que você faça alterações na sua aplicação a partir da UI do App Services. Você pode fazer alterações em sua aplicação por meio da UI e o App Services confirma automaticamente as alterações em seu repositório do GitHub vinculado.

Dica

Se o seu repositório vinculado do GitHub contiver novas confirmações que não estejam refletidos nas alterações da interface do usuário do App Services, o App Services não poderá fazer o commit automático dessas alterações no seu repositório. No entanto, você pode usar o botão Export para baixar os arquivos de configuração atualizados para o computador local e, em seguida, enviá-los manualmente para o repositório do GitHub.

Quando as alterações estiverem comprometidas com seu repositório GitHub vinculado, você verá um link do Commit: <commit-hash> no Histórico de Implementação do seu aplicativo.

Seleção de repositório do GitHub

Você pode clicar nesse link para visualizar a confirmação no GitHub. O bot mongodb-realm aparece como o autor da confirmação.

Seleção de repositório do GitHub

No passado, recomendávamos não fazer alterações em seu aplicativo com o App Services CLI depois de configurar a implantação automática. A partir do App Services CLI v1.1.0 e posterior, você poderá usar o App Services CLI com segurança para fazer alterações em seu aplicativo.

App Services CLI versão 1.1.0 e posterior

No App Services CLI v1.1.0 e posterior, um push do App Services CLI gera um commit correspondente no GitHub automaticamente. Isso mantém as alterações de código sincronizadas com sua fonte de verdade do GitHub controlada por versão.

App Services CLI versão 1.0.3 e anterior

No App Services CLI v1.0.3 e anterior, evite fazer alterações no aplicativo com o App Services CLI depois de configurar a implantação automática, pois:

  • Se você enviar alterações por push com o CLI enquanto o sistema GitHub estiver habilitado, o App Services distribui as alterações, mas não as confirma de volta ao repositório vinculado.

  • Os arquivos de configuração em seu repositório não refletem mais o atual estado do seu aplicativo.

  • Para obter as alterações que você enviou, um colaborador deve extrair manualmente os arquivos de configuração mais recentes diretamente do seu aplicativo. O repositório GitHub não é mais a fonte da verdade.

  • Se um colaborador adicionar uma nova confirmação a um repositório obsoleto, ele substituirá quaisquer alterações distribuídas, mas não confirmadas.

  • Você pode implantar seu aplicativo modificando um repositório hospedado no GitHub.

  • Enquanto a implantação automática do GitHub estiver habilitada, o App Services imediatamente implanta a confirmação mais recente. Para implantar, confirme suas alterações localmente e, em seguida, envie-as para o seu repositório no GitHub.

  • Quando você faz alterações por meio da UI do App Services depois de habilitar a opção sistema automático GitHub, essas alterações são automaticamente confirmadas de volta ao seu repositório vinculado.

  • Para usar App Services CLI para atualizar os arquivos de configuração depois de habilitar a implantação automática do GitHub, use o App Services CLI v1.1.0 ou posterior.

Voltar

Configurar um ambiente de aplicativo

Próximo

Configurar um pipeline CI/CD