A implantação de um aplicativo da web Next.js na produção pode ser simplificada e eficiente ao aproveitar os pipelines Elastic Beanstalk, Docker e CI/CD da AWS (Amazon Web Services) com AWS Code Build, Code Deploy e GitLab. Este guia orientará você na configuração de um pipeline de implantação moderno para garantir que seu aplicativo seja robusto, escalonável e fácil de manter.
Antes de mergulhar no processo de implantação, certifique-se de ter:
Uma conta raiz da AWS ou uma conta IAM com permissão para criar ambientes do Elastic Beanstalk na AWS
Docker instalado em sua máquina local
Conta GitHub ou GitHub com um repositório para seu aplicativo Next.js
Um projeto Next.js pronto para implantação
Digite o nome do seu aplicativo e clique em Criar.
Depois de criar a aplicação, é hora de criar o Novo Ambiente. Clique em Criar novo ambiente.
No código do aplicativo, escolha Aplicativo de exemplo, pois implantaremos nosso próprio código por meio do AWS Code Pipeline.
Nos presets você pode deixar no padrão, porém, para aplicações em produção, é aconselhável utilizar a instância Alta disponibilidade. Depois de selecionar a predefinição, clique em Avançar.
Crie ou use sua função de serviço existente. É importante ter a função de serviço do Elastic Beanstalk junto com a configuração da função de serviço do EC2 antes de prosseguir com a criação da instância do EC2.
No entanto, se você deseja fazer SSH na instância do EC2 a partir do seu terminal, adicione um par de chaves do EC2 e crie um perfil de instância do EC2 para executar as operações necessárias.
Como não precisamos configurar um banco de dados, podemos continuar para a próxima etapa clicando em Avançar.
Para volume raiz, escolheremos SSD de uso geral.
Agora, no grupo de segurança, você pode selecionar um grupo de segurança já existente ou deixá-lo como está, e o Elastic Beanstalk criará um para você enquanto configura a instância do EC2.
Se estiver implantando para fins de produção, é sempre aconselhável configurar o escalonamento automático e selecionar o tipo de instância que o Elastic Beanstalk criará para atender ao tráfego. Iremos com a família t3.
Clique em Avançar.
Nos relatórios de saúde, usaremos os relatórios Básicos, mas fique à vontade para escolher entre as opções disponíveis com base no tipo de relatório que você precisa.
Também desmarcaremos as atualizações da plataforma gerenciada, pois elas não são necessárias para o site de demonstração.
Mantenha o restante das configurações como estão e clique em Avançar.
Finalmente, revise suas alterações e clique em Enviar.
O Elastic Beanstalk iniciará seu ambiente e isso levará algum tempo.
npx create-next-app@latest nextjs-blog --use-npm --example "https://github.com/vercel/next-learn/tree/main/basics/learn-starter"
Se você já tem seu código existente pronto, você pode pular para a próxima parte
cd nextjs-blog
Em seguida, execute o seguinte comando:
npm run dev
Isso inicia o "servidor de desenvolvimento" do seu aplicativo Next.js (mais sobre isso mais tarde) na porta 3000.
Vamos verificar se está funcionando. Abra http://localhost:3000 no seu navegador.
Agora é hora de criar um Dockerfile dentro do aplicativo.
Crie um arquivo chamado Dockerfile na raiz da sua aplicação e adicione o seguinte código:
FROM node:18-alpine RUN mkdir -p /app WORKDIR /app COPY . . RUN npm install RUN npm run build EXPOSE 3000 CMD ["npm", "start"]
docker build -t testapp .
Assim que a compilação for bem-sucedida, execute o aplicativo com o comando abaixo:
docker run -p 3000:3000 testapp
version: 0.2 artifacts: type: zip files: - '**/*'
Faça login no AWS Management Console, navegue até Code Pipeline e clique em criar pipeline.
Insira um nome de pipeline válido e escolha o modo de execução do pipeline. No nosso caso, selecionaremos Em fila (é necessário pipeline tipo V2).
Crie uma nova função de serviço se ela ainda não existir ou selecione uma função de serviço existente e clique em Avançar.
No provedor de origem, selecione onde você tem seus artefatos armazenados. Selecionaremos "Gitlab".
Na lista de conexões, selecione uma conexão existente ou crie uma nova conexão.
Assim que a conexão for bem-sucedida, selecione o nome do repositório e a ramificação da qual o código será usado.
Para o tipo de gatilho, escolheremos Sem filtro e clicaremos em Avançar.
Quando você clica em Continuar para o pipeline de código, a janela será fechada automaticamente e o levará de volta à tela do pipeline de código.
Especifique o tipo de compilação como compilação única e clique em Avançar.
A implantação do aplicativo Web Next.js na produção é realmente fácil e pode ser feita de maneira mais eficiente com AWS Elastic Beanstalk, Docker e pipelines de CI/CD usando AWS Code Build, Code Deploy e GitLab.
Você pode acessá-lo usando o URL fornecido pelo Elastic Beanstalk. Faça alterações localmente e ele será implantado automaticamente quando você enviar para sua filial.
Boa codificação!!
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3