Configuração de desenvolvimento e comandos para compilar, servir e mais

Aprenda como configurar um ambiente de desenvolvimento para este site.

As instruções a seguir explicam como configurar um ambiente de desenvolvimento para este site.

Configuração de IDE de nuvem

Gitpod

Para trabalhar via Gitpod.io:

  1. Faça um fork deste repositório. Para ajuda, veja Fazer fork de um repositório.

  2. De gitpod.io/workspaces, crie um novo workspace (faça isso apenas uma vez) ou abra um workspace existente sobre seu fork. Você também pode visitar um link da forma: https://gitpod.io#https://github.com/SEU_ID_GITHUB/opentelemetry.io.

    Nota: Se você tem as permissões necessárias para trabalhar neste repositório, ou apenas quer dar uma olhada, abra https://gitpod.io/#https://github.com/open-telemetry/opentelemetry.io.

O Gitpod instala automaticamente os pacotes específicos do repositório para você. Agora você está pronto para compilar, servir e fazer atualizações nos arquivos do site. Para mais detalhes sobre como submeter alterações, veja Enviando conteúdo.

Codespaces

Para trabalhar via GitHub Codespaces:

  1. Faça um [Fork] do repositório do site.
  2. Abra um Codespace a partir do seu fork.

Seu ambiente de desenvolvimento será inicializado via a configuração DevContainer. Agora você está pronto para compilar, servir e fazer atualizações nos arquivos do site. Para mais detalhes sobre como submeter alterações, veja Enviando conteúdo.

Configuração local

  1. Faça um [Fork] e então clone o repositório do site em https://github.com/open-telemetry/opentelemetry.io.

  2. Vá para o diretório do repositório:

    cd opentelemetry.io
    
  3. Instale ou atualize para a versão LTS ativa do Node.js. Recomendamos usar nvm para gerenciar sua instalação do Node. No Linux, execute o seguinte comando, que instalará e atualizará para a versão especificada no arquivo .nvmrc:

    nvm install
    

    Para instalar no Windows, use nvm-windows. Recomendamos usar cmd e não o Windows PowerShell para o comando abaixo:

    nvm install lts && nvm use lts
    
  4. Obtenha os pacotes npm e outros pré-requisitos:

    npm install
    

Abra sua IDE favorita. Agora você está pronto para compilar, servir e fazer atualizações nos arquivos do site. Para mais detalhes sobre como submeter alterações, veja Enviando conteúdo.

Compilar

Para compilar o site execute:

npm run build

Os arquivos gerados do site estão em public.

Servir

Para servir o site execute:

npm run serve

O site é servido em localhost:1313.

Se você precisar testar redirecionamentos do Netlify, use o seguinte comando e visite o site em localhost:8888:

npm run serve:netlify

O comando serve disponibiliza arquivos da memória, não do disco.

Se você ver um erro como too many open files ou pipe failed no macOS, você precisar aumentar o limite de descritores de arquivo. Veja Hugo issue #6109.

Conteúdo e submódulos

O site é construído a partir do seguinte conteúdo:

  • Arquivos sob content/, static/, etc. conforme os padrões do Hugo.
  • Pontos de montagem, definidos em hugo.yaml sob mounts. As montagens são diretamente de submódulos git sob content-modules, ou conteúdo pré-processado de content-modules (colocado sob tmp/), e em nenhum outro lugar.

Alterações em submódulos

Se você alterar qualquer conteúdo dentro de um submódulo content-modules, então você precisa primeiro submeter um PR (contendo as alterações do submódulo) para o repositório do submódulo. Somente depois que o PR do submódulo for aceito, você pode atualizar o submódulo e ter as mudanças publicadas neste site.

É mais fácil gerenciar suas alterações em content-modules trabalhando com o repositório ao qual o submódulo correspondente está vinculado, em vez de dentro do próprio submódulo.

Contribuidores experientes podem trabalhar diretamente no submódulo. Você então consegue construir e disponibilizar diretamente suas alterações (do submódulo). Por padrão, os scripts de CI obtêm submódulos a cada invocação. Para prevenir esse comportamento enquanto você trabalha dentro de um submódulo, defina a variável de ambiente GET=no. Você também precisa executar git fetch --unshallow no submódulo antes de poder submeter um PR. De maneira alternativa, defina DEPTH=100 e busque novamente os submódulos.

Suporte a DevContainer

Este repositório está configurado para uso em Development Containers, que são suportados por várias IDEs de nuvem e locais como (em ordem alfabética):