Configurarea mediului de dezvoltare și comenzi pentru build, servire și altele
The content of this page may be outdated and some links may be invalid.
A newer version of this page exists in
English. To see the changes to the English page since this page was last updated: visit
GitHub compare f184d8b9..0b76ad5d
and search for More information ...
content/en/docs/contributing/development.md.
Builds are officially supported on Linux-based environments and macOS. Other environments, such as DevContainers, are supported on a best-effort basis. For builds on Windows, you can follow steps similar to those for Linux using Windows Subsystem for Linux command line WSL.
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:
Fă un fork al acestui repertoriu. Pentru ajutor, consultă Crearea unui fork.
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:
- Fă un Fork repertoriului de site web.
- 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ă
- Fă un Fork și apoi clonați repertoriul site-ului web la https://github.com/open-telemetry/opentelemetry.io.
- Navighează în directorul repertoriului:
cd opentelemetry.io
- 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
- 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.
Dacă întâmpini erori la comenzile de build sau servire similare cu următoarele:
ERROR error building site: ...[mesaj lung]... TOCSS: failed to transform "/scss/main.scss" (text/x-scss)
Sau:
ERROR failed to load modules: module "github.com/FortAwesome/Font-Awesome" not found
Aceasta se datorează de obicei faptului că nu ai finalizat toți pașii din configurarea locală. În special, rulează din nou această comandă:
npm install
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 dincontent-modules(plasat întmp/), ș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
Comentariu
A fost utilă această pagină?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!