Facebook otvoril kód pre projekt DotSlash

Facebook oznámil open source dotslash, nástroj príkazového riadku navrhnutý tak, aby uľahčil distribúciu súboru spustiteľných súborov pre rôzne platformy. Pomôcka je navrhnutá tak, aby spúšťala skripty, ktoré automatizujú sťahovanie spustiteľného súboru vhodného pre aktuálnu platformu, kontrolujúc jeho integritu a spustenie. Obslužný kód je napísaný v jazyku Rust a je distribuovaný pod licenciami MIT a Apache 2.0.

Utilita rieši podobné problémy ako shell skripty pre spúšťanie spustiteľných súborov pre aktuálnu platformu, no zároveň eliminuje potrebu vkladať do balíka spustiteľné súbory pre všetky podporované platformy. DotSlash vám tiež umožňuje ukladať informácie o zhromaždených spustiteľných súboroch do úložiska spolu s kódom, pričom samotné súbory umiestňujete na samostatné bootovacie servery, čo zabraňuje rastu veľkosti úložiska a znižuje zaťaženie vstupno/výstupného systému pri vykonávaní klonovacie operácie.

Pri použití DotSlash je sada spustiteľných súborov špecifických pre platformu nahradená jedným skriptom, ktorý obsahuje popis logiky pre výber spustiteľného súboru vo vzťahu k podporovaným platformám. Po spustení skriptu DotSlash sa spustiteľný súbor požadovaný pre aktuálnu platformu dynamicky stiahne, rozbalí, overí sa pomocou kryptografického hashu a uloží sa do lokálnej vyrovnávacej pamäte pre ďalšie spustenie. Súbory sa prenášajú v komprimovanej forme. DotSlash skripty môžu byť generované automaticky pre vydania publikované na GitHub.

Príklad skriptu DotSlash na distribúciu zostáv Node.js 18.19.0 pre platformy macOS ARM64, macOS x86_64 a Linux x86_64: #!/usr/bin/env dotslash { “name”: “node-v18.19.0”, “ "g platforms": { "macos-aarch64": { "veľkosť": 40660307, ​​"hash": "blake3", "digest": "6e2ca33951e586e7670016dd9e503d028454bf9249d5ff556347bf3d98ff347bf34d18.19.0ff64"at18.19.0c":18.19.0c":64 ": " node- v86 -darwin-arm64/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v42202872/node-v3-darwin-arm37521058114. "tar.gz" } ] }, "macos-x7_71": { "veľkosť": 0, "hash": "blake3", "digest": "8042e8f7908305e9115488de6fe29c514fa9f2c"24a18.19.0f64c"18.19.0b:18.19.0e64 "tar.gz", "cesta" : "node-v86 .64-darwin-x44694523/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v3/node-v72-darwin- x81.tar.gz " } ] }, "linux-x3_30": { "veľkosť": 7, "hash": "blake1", "digest": "09b3fc4478a1b02bedc5a0a04fafc15a23b3e9form",89212e18.19.0 ": "tar.gz", " cesta ": "node -v64-linux-x18.19.0/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v64- linux-xXNUMX.tar .gz" } ] } } }

Zdroj: opennet.ru

Pridať komentár