Spoločnosť Facebook oznámila vydanie open-source nástroja príkazového riadka dotslash, ktorý je navrhnutý tak, aby zjednodušil distribúciu spustiteľných súborov pre rôzne platformy. Nástroj je navrhnutý tak, aby spúšťal skripty, ktoré automatizujú sťahovanie spustiteľného súboru vhodného pre aktuálnu platformu, overovanie jeho integrity a vykonanie. Kód nástroja je napísaný v jazyku Rust a je distribuovaný pod licenciami MIT a Apache 2.0.
Tento nástroj vykonáva úlohy podobné skriptom shellu na spúšťanie spustiteľných súborov pre aktuálnu platformu, ale eliminuje potrebu zahrnúť spustiteľné súbory pre všetky podporované platformy. DotSlash vám tiež umožňuje ukladať informácie o kompilovaných spustiteľných súboroch do úložiska spolu s kódom, pričom samotné súbory umiestňuje na samostatné bootovacie disky. servery, čo vám umožňuje vyhnúť sa zväčšovaniu veľkosti úložiska a znížiť zaťaženie I/O systému pri vykonávaní klonovacích operácií.
Pri použití DotSlash sa sada spustiteľných súborov špecifických pre platformu nahradí jedným skriptom, ktorý obsahuje popis logiky výberu spustiteľného súboru špecifickej pre podporované platformy. Po spustení skriptu DotSlash sa spustiteľný súbor potrebný pre aktuálnu platformu dynamicky stiahne, rozbalí, overí pomocou kryptografického hashu a uloží do lokálnej vyrovnávacej pamäte pre ďalšie spustenia. Súbory sa prenášajú v komprimovanej forme. Skripty DotSlash je možné automaticky generovať pre vydania publikované na GitHub.
Príklad skriptu DotSlash na distribúciu zostavení Node.js 18.19.0 pre macOS ARM64, macOS x86_64 a Linux x86_64: #!/usr/bin/env dotslash { "name": "node-v18.19.0", "platforms": { "macos-aarch64": { "size": 40660307, "hash": "blake3", "digest": "6e2ca33951e586e7670016dd9e503d028454bf9249d5ff556347c3d98c347c34", "format": "tar.gz", "path": "node-v18.19.0-darwin-arm64/bin/node", "providers": [ { "url": „https://nodejs.org/dist/v18.19.0/node-v18.19.0-darwin-arm64.tar.gz“ } ] }, „macos-x86_64“: { „size“: 42202872, „hash“: „blake3“, „digest“: „37521058114e7f71e0de3fe8042c8fa7908305e9115488c6c29b514f9cd2a24c“, „formát“: „tar.gz“, „cesta“: „node-v18.19.0-darwin-x64/bin/node“, „poskytovatelia“: [ { „url“: „https://nodejs.org/dist/v18.19.0/node-v18.19.0-darwin-x64.tar.gz“ } ] }, „linux-x86_64“: { „size“: 44694523, „hash“: „blake3“, „digest“: „72b81fc3a30b7bedc1a09a3fafc4478a1b02e5ebf0ad04ea15d23b3e9dc89212“, „formát“: „tar.gz“, „cesta“: „node-v18.19.0-linux-x64/bin/node“, „poskytovatelia“: [ { „url“: „https://nodejs.org/dist/v18.19.0/node-v18.19.0-linux-x64.tar.gz“ } ] } } }
Zdroj: opennet.ru
