Facebook je otvorio kod za projekt DotSlash

Facebook je najavio otvoreni kod dotslash, uslužnog programa naredbenog retka dizajniranog za lakšu distribuciju skupa izvršnih datoteka za različite platforme. Uslužni program je dizajniran za pokretanje skripti koje automatiziraju preuzimanje izvršne datoteke prikladne za trenutnu platformu, provjeravajući njen integritet i izvršenje. Uslužni kod je napisan u Rustu i distribuira se pod licencama MIT i Apache 2.0.

Uslužni program rješava probleme slične skriptama ljuske za pokretanje izvršnih datoteka za trenutnu platformu, ali u isto vrijeme eliminira potrebu za uključivanjem izvršnih datoteka za sve podržane platforme u paket. DotSlash vam također omogućuje pohranjivanje informacija o prikupljenim izvršnim datotekama u repozitorij zajedno s kodom, dok same datoteke postavljate na zasebne poslužitelje za pokretanje, čime se izbjegava rast veličine repozitorija i smanjuje opterećenje ulazno/izlaznog sustava prilikom izvođenja operacije kloniranja.

Kada koristite DotSlash, skup izvršnih datoteka specifičnih za platformu zamjenjuje se jednom skriptom koja uključuje opis logike za odabir izvršne datoteke u odnosu na podržane platforme. Nakon pokretanja skripte DotSlash, izvršna datoteka potrebna za trenutnu platformu dinamički se preuzima, raspakira, provjerava u odnosu na kriptografski hash i pohranjuje u lokalnu predmemoriju za naknadna izvođenja. Datoteke se prenose u komprimiranom obliku. DotSlash skripte mogu se automatski generirati za izdanja objavljena na GitHubu.

Primjer DotSlash skripte za distribuciju Node.js 18.19.0 nadogradnji za platforme macOS ARM64, macOS x86_64 i Linux x86_64: #!/usr/bin/env dotslash { “name”: “node-v18.19.0”, “ platforme”: { "macos-aarch64": { "veličina": 40660307, ​​​​"hash": "blake3", "digest": "6e2ca33951e586e7670016dd9e503d028454bf9249d5ff556347c3d98c347c34", "format": "tar.gz", " put": " čvor- v18.19.0 -darwin-arm64/bin/node", "pružatelji": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v18.19.0-darwin-arm64. tar.gz" } ] }, "macos-x86_64": { "veličina": 42202872, "hash": "blake3", "digest": "37521058114e7f71e0de3fe8042c8fa7908305e9115488c6c29b514f9cd2a24c", "format ": "tar.gz", "put" : "node-v18.19.0 .64-darwin-x18.19.0/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v64-darwin- x86.tar.gz " } ] }, "linux-x64_44694523": { "veličina": 3, "hash": "blake72", "sažetak": "81b3fc30a7b1bedc09a3a4478fafc1a02b5e0ebf04ad15ea23d3b9e89212dc18.19.0", "forma na": "tar.gz", " put ": "čvor -v64-linux-x18.19.0/bin/čvor", "pružatelji": [ { "url": "https://nodejs.org/dist/v18.19.0/čvor-v64- linux-xXNUMX.tar .gz" } ] } } }

Izvor: opennet.ru

Dodajte komentar