Configurarea mediului de dezvoltare și comenzi pentru build, servire și altele

Află cum să configurezi un mediu de dezvoltare pentru acest site web.

The content of this page may be outdated and some links may be invalid. A newer version of this page exists in English.

More information ...

To see the changes to the English page since this page was last updated: visit GitHub compare f184d8b9..0b76ad5d and search for content/en/docs/contributing/development.md.

Următoarele instrucțiuni explică pașii de configurare a un mediu de dezvoltare pentru acest site web.

Configurare Cloud-IDE

Gitpod

Pentru a lucra prin Gitpod.io:

  1. Fă un fork al acestui repertoriu. Pentru ajutor, consultă Crearea unui fork.

  2. Din gitpod.io/workspaces, creează un spațiu de lucru nou (fă acest lucru doar o dată) sau deschide un spațiu de lucru existent peste fork-ul tău. Poți accesa și un link de forma: https://gitpod.io#https://github.com/YOUR_GITHUB_ID/opentelemetry.io.

    Notă: Dacă ai permisiunile necesare pentru a lucra din acest repertoriu sau dorești doar să explorezi, deschide https://gitpod.io/#https://github.com/open-telemetry/opentelemetry.io.

Gitpod instalează automat pachetele specifice repertoriului tău. Acum ești pregătit să construiești, servești și să faci actualizări fișierelor site-ului. Pentru detalii despre cum să trimiți modificări, consultă Trimiterea conținutului.

Codespaces

Pentru a lucra prin GitHub Codespaces:

  1. Fă un Fork repertoriului de site web.
  2. Deschide un Codespace din fork-ul tău.

Mediul de dezvoltare va fi inițializat prin configurația DevContainer. Acum ești pregătit să construiești, servești și să faci actualizări fișierelor site-ului. Pentru detalii despre cum să trimiți modificări, consultă Trimiterea conținutului.

Configurare locală

  1. Fă un Fork și apoi clonați repertoriul site-ului web la https://github.com/open-telemetry/opentelemetry.io.
  2. Navighează în directorul repertoriului:
cd opentelemetry.io
  1. Instalează sau actualizează la versiunea LTS activă a Node.js. Recomandăm utilizarea nvm pentru a gestiona instalarea runtime-ului pentru Node. Pe Linux, rulează următoarea comandă, care va instala și actualiza la versiunea specificată în fișierul .nvmrc:
nvm install

Pentru instalarea pe Windows, utilizează nvm-windows. Recomandăm folosirea cmd și nu Windows PowerShell pentru comanda de mai jos:

nvm install lts && nvm use lts
  1. Obține pachetele npm și alte cerințe preliminare:
npm install

Lansează IDE-ul preferat. Acum ești pregătit să construiești, servești și să faci actualizări fișierelor site-ului. Pentru detalii despre cum să trimiți modificări, consultă Trimiterea conținutului.

Build

Pentru a construi site-ul, rulează:

npm run build

Fișierele generate ale site-ului se află în directorul public.

Servire

Pentru a servi site-ul, rulează:

npm run serve

Site-ul este servit la localhost:1313.

Dacă trebuie să testezi redirecționările Netlify, utilizează următoarea comandă și accesează site-ul la localhost:8888:

npm run serve:netlify

Comanda de servire servește fișierele din memorie, nu de pe disc.

Dacă întâlnești o eroare de tipul too many open files sau pipe failed pe macOS, este posibil să fie nevoie să mărești limita descriptorilor de fișiere. Consultă problema Hugo #6109.

Conținut și submodule

Site-ul web este construit din următoarele conținuturi:

  • Fișiere din content/, static/ etc., conform configurărilor implicite Hugo.
  • Puncte de montare, definite de config Hugo în config/_default/module-template.yaml. Montările provin fie direct din submodule git din content-modules, fie din conținut procesat din content-modules (plasat în tmp/), și de nicăieri altundeva.

Modificări ale submodulelor

Dacă modifici orice conținut dintr-un submodul content-modules, trebuie mai întâi să trimiți un PR (conținând modificările submodulului) către repertoriul submodulului. Abia după ce PR-ul submodulului a fost acceptat, poți actualiza submodulul și modificările vor apărea pe acest site web.

Cel mai simplu este să gestionezi modificările din content-modules lucrând cu repertoriul la care este legat submodulul corespunzător, în loc să lucrezi direct în interiorul submodulului.

Contribuitorii experimentați pot lucra direct în submodul, putând astfel construi și servi direct modificările (din submodul). În mod implicit, scripturile CI obțin submodulele la fiecare invocare. Pentru a preveni acest comportament în timp ce lucrezi într-un submodul, setează variabila de mediu GET=no. De asemenea, trebuie să rulezi git fetch --unshallow în submodul înainte de a putea trimite un PR. Alternativ, setează DEPTH=100 și reobține submodulele.

Suport DevContainer

Acest repertoriu este configurat pentru utilizare în Development Containers, care sunt acceptate de diverse IDE-uri cloud și locale, precum (în ordine alfabetică):

Unelte

Code-excerpter

Utilizează code-excerpter pentru fragmente de cod care ar trebui să fie sincronizate cu fișierele sursă din acest repertoriu. Pagini ale site-ului web pot conține fragmente de cod pentru orice setare regională, dar conținutul original care le folosește este redactat în content/en apoi este actualizat de către echipele de traducere în limba proprie.

În pagina sursă scrisă în limba engleză, plasează o directivă de extragere a fișierului imediat înainte de blocul de cod închis pe care îl actualizează:

<?code-excerpt path-base="examples/java/getting-started"?>

<?code-excerpt "src/main/java/otel/DiceApplication.java" from="@SpringBootApplication"?>

```java
@SpringBootApplication
public class DiceApplication {
  public static void main(String[] args) {
    SpringApplication app = new SpringApplication(DiceApplication.class);
    app.setBannerMode(Banner.Mode.OFF);
    app.run(args);
  }
}
```

Folosește o directivă opțională path-base o dată când ești aproape de începutul paginii atunci când mai multe fragmente de cod provin din același director. Pentru detalii legat de sintaxa directivei code-excerpt, accesează fișierul readme code-excerpter.

Modifică fișierul sursă sau directiva, nu și blocul de cod închis. Apoi rulează următoarea comandănpm script:

npm run fix:code-excerpts

Pentru a verifica dacă fragmentele de cod sunt actualizate, rulează:

npm run check:code-excerpts