Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Deploy de um monorepo fora da Vercel

Primeiramente parabéns pelo curso, vocês arrebentaram. :)

Gostaria de abordar o deploy de um monorepo com projetos em Next.js fora da Vercel. No caso da Vercel é tudo muito simples e intuitivo, mas existem algumas limitações de números de projetos que podemos linkar a um repositório e os valores dos planos pagos ainda não estão acessíveis a mim.

Gostaria de hospedar o meu projeto em outro ambiente de nuvem. Neste caso eu teria que configurar os builds de cada pasta do repositório no processo de pipeline de CI?

Muito obrigado

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta
solução!

Oi Paulo, tudo bem? Agradeço pelo seu feedback positivo sobre o curso, fico feliz em saber que você está aproveitando o conteúdo!

Sobre o deploy de um monorepo com projetos em Next.js fora da Vercel, realmente a plataforma oferece uma solução simples e intuitiva. No entanto, se você deseja hospedar seu projeto em outro ambiente de nuvem, é necessário configurar os builds de cada pasta do repositório no processo de pipeline de CI (Integração Contínua).

O processo de configuração pode variar dependendo da plataforma de CI que você está utilizando. Geralmente, você precisa definir os passos necessários para construir e implantar cada projeto do monorepo.

Uma opção popular para CI é o Travis CI. Vou fornecer um exemplo básico de como você pode configurar o build e o deploy usando o Travis CI e o Heroku como exemplo de ambiente de nuvem. Tenha em mente que existem várias ferramentas e serviços disponíveis, e você pode escolher aqueles que melhor atendam às suas necessidades.

  1. Comece criando um arquivo chamado .travis.yml na raiz do seu repositório. Este arquivo é responsável por configurar o processo de CI no Travis.

  2. No arquivo .travis.yml, você precisa definir as etapas de build e deploy para cada projeto do monorepo. Aqui está um exemplo básico para dois projetos chamados "projeto-a" e "projeto-b":

language: node_js
node_js:
  - 14

jobs:
  include:
    - name: Build and deploy projeto-a
      script:
        - cd projeto-a
        - yarn install
        - yarn build
      deploy:
        provider: heroku
        app: projeto-a
        api_key: $HEROKU_API_KEY

    - name: Build and deploy projeto-b
      script:
        - cd projeto-b
        - yarn install
        - yarn build
      deploy:
        provider: heroku
        app: projeto-b
        api_key: $HEROKU_API_KEY

Neste exemplo, definimos dois jobs, um para cada projeto. Cada job possui um script que define os comandos necessários para construir o projeto e, em seguida, o deploy é realizado no Heroku.

  1. Agora você precisa configurar as variáveis de ambiente necessárias no Travis CI. No exemplo acima, estamos usando a variável $HEROKU_API_KEY para autenticar com o Heroku. Você pode configurar essa variável no painel de controle do Travis CI para o seu repositório.

  2. Assim que você configurar o arquivo .travis.yml e as variáveis de ambiente, o Travis CI começará a construir e implantar seus projetos do monorepo sempre que houver uma alteração no repositório.

Lembre-se de adaptar esse exemplo de acordo com as necessidades do seu projeto e as ferramentas que você está utilizando. Existem outras opções populares de plataformas de CI, como Jenkins, CircleCI e GitLab CI/CD, que também podem ser usadas para configurar o pipeline de CI.

É importante ressaltar que, ao hospedar seu projeto fora da Vercel, você precisará configurar manualmente a infraestrutura necessária para executar seu aplicativo, como servidores, balanceadores de carga e bancos de dados, dependendo dos requisitos do seu projeto.

Espero ter ajudado.

Um abraço e bons estudos.