Facebook otevřel kód pro projekt DotSlash

Facebook oznámil open source dotslash, nástroj příkazového řádku navržený tak, aby usnadnil distribuci sady spustitelných souborů pro různé platformy. Nástroj je navržen tak, aby spouštěl skripty, které automatizují stahování spustitelného souboru vhodného pro aktuální platformu a kontrolují jeho integritu a provádění. Obslužný kód je napsán v jazyce Rust a je distribuován pod licencemi MIT a Apache 2.0.

Obslužný program řeší problémy podobné shellovým skriptům pro spouštění spustitelných souborů pro aktuální platformu, ale zároveň eliminuje nutnost vkládat do balíčku spustitelné soubory pro všechny podporované platformy. DotSlash také umožňuje ukládat informace o shromážděných spustitelných souborech do úložiště spolu s kódem, přičemž samotné soubory umísťujete na samostatné spouštěcí servery, což zabraňuje růstu velikosti úložiště a snižuje zatížení vstupního/výstupního systému při provádění klonovací operace.

Při použití DotSlash je sada spustitelných souborů specifických pro platformu nahrazena jediným skriptem, který obsahuje popis logiky pro výběr spustitelného souboru ve vztahu k podporovaným platformám. Po spuštění skriptu DotSlash je spustitelný soubor požadovaný pro aktuální platformu dynamicky stažen, rozbalen, ověřen proti kryptografickému hash a uložen do místní mezipaměti pro další spuštění. Soubory jsou přenášeny v komprimované podobě. Skripty DotSlash lze generovat automaticky pro vydání publikovaná na GitHubu.

Příklad skriptu DotSlash pro distribuci sestavení Node.js 18.19.0 pro platformy macOS ARM64, macOS x86_64 a Linux x86_64: #!/usr/bin/env dotslash { “name”: “node-v18.19.0”, “ "g": { "macos-aarch64": { "velikost": 40660307, ​​"hash": "blake3", "digest": "6e2ca33951e586e7670016dd9e503d028454bf9249d5ff556347bf3d98ff347bf34d18.19.0ff64"at18.19.0c":18.19.0 ": " node- v64 -darwin-arm86/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v64/node-v42202872-darwin-arm3. "tar.gz" } ] }, "macos-x37521058114_7": { "velikost": 71, "hash": "blake0", "digest": "3e8042f8e7908305de9115488fe6c29fa514f",9a2b:24f18.19.0c"64b:18.19.0 "tar.gz", "cesta" : "node-v18.19.0 .64-darwin-x86/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v64/node-v44694523-darwin- x3.tar.gz " } ] }, "linux-x72_81": { "velikost": 3, "hash": "blake30", "digest": "7b1fc09a3b4478bedc1a02a5fafc0a04b15e23form",3e9b"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

Přidat komentář