A Facebook megnyitotta a DotSlash projekt kódját

A Facebook bejelentette a nyílt forráskódú dotslash nevű parancssori segédprogramot, amely megkönnyíti a futtatható fájlok terjesztését különböző platformokon. A segédprogramot olyan szkriptek futtatására tervezték, amelyek automatizálják az aktuális platformnak megfelelő futtatható fájl letöltését, ellenőrizve annak integritását és végrehajtását. A segédprogram kódja Rust nyelven íródott, és az MIT és az Apache 2.0 licenc alatt kerül terjesztésre.

A segédprogram a shell szkriptekhez hasonló problémákat old meg a futtatható fájlok indításakor az aktuális platformon, ugyanakkor kiküszöböli annak szükségességét, hogy a csomagban minden támogatott platform futtatható fájljait tartalmazzák. A DotSlash lehetővé teszi az összegyűjtött futtatható fájlok információinak tárolását egy lerakatban a kóddal együtt, miközben magukat a fájlokat külön rendszerindító szervereken helyezi el, ami elkerüli a lerakat méretének növekedését és csökkenti a bemeneti/kimeneti rendszer terhelését a végrehajtás során. klónozási műveletek.

A DotSlash használatakor a platform-specifikus végrehajtható fájlok készletét egyetlen szkript helyettesíti, amely tartalmazza a futtatható fájl kiválasztásának logikájának leírását a támogatott platformokhoz viszonyítva. A DotSlash szkript futtatása után az aktuális platformhoz szükséges végrehajtható fájl dinamikusan letöltődik, kicsomagolódik, kriptográfiai kivonattal ellenőrzi, és a helyi gyorsítótárban tárolja a további futtatásokhoz. A fájlok átvitele tömörített formában történik. DotSlash-szkriptek automatikusan generálhatók a GitHubon közzétett kiadásokhoz.

Példa DotSlash szkriptre a Node.js 18.19.0 buildek terjesztéséhez macOS ARM64, macOS x86_64 és Linux x86_64 platformokhoz: #!/usr/bin/env dotslash { „name”: „node-v18.19.0”, „ platformok”: { "macos-aarch64": { "méret": 40660307, ​​"hash": "blake3", "kivonat": "6e2ca33951e586e7670016dd9e503d028454bf9249d5ffc "556347"c3",98ffc "útvonal": " node- v347 -darwin-arm34/bin/node", "szolgáltatók": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v64-darwin-arm18.19.0. tar.gz" } ] }, "macos-x18.19.0_64": { "méret": 86, "hash": "blake64", "kivonat": "42202872e3f37521058114e7de71fe0c3fa8042e8c7908305fa9115488e6c29c514c9b2fc24 : "tar.gz", "útvonal" : "node-v18.19.0 .64-darwin-x18.19.0/bin/node", "szolgáltatók": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v64-darwin- x86.tar.gz " } ] }, "linux-x64_44694523": { "méret": 3, "hash": "blake72", "kivonat": "81b3fc30a7b1bedc09a3a4478fafc1a02a5a0fafc04a15b23d3b9b89212b18.19.0b64d18.19.0e at": "tar.gz", " elérési út ": "node -v18.19.0-linux-x64/bin/node", "szolgáltatók": [ { "url": "https://nodejs.org/dist/vXNUMX/node-vXNUMX- linux-xXNUMX.tar .gz" } ] } } }

Forrás: opennet.ru

Hozzászólás