Facebook je odprl kodo za projekt DotSlash

Facebook je napovedal odprtokodni program dotslash, pripomoček za ukazno vrstico, zasnovan za lažjo distribucijo nabora izvršljivih datotek za različne platforme. Pripomoček je zasnovan za izvajanje skriptov, ki avtomatizirajo prenos izvršljive datoteke, primerne za trenutno platformo, ter preverjajo njeno celovitost in izvedbo. Koda pripomočka je napisana v Rust in se distribuira pod licencama MIT in Apache 2.0.

Pripomoček rešuje podobne težave kot lupinski skripti za zagon izvedljivih datotek za trenutno platformo, vendar hkrati odpravlja potrebo po vključitvi izvršljivih datotek za vse podprte platforme v paket. DotSlash vam omogoča tudi shranjevanje informacij o zbranih izvršljivih datotekah v repozitorij skupaj s kodo, medtem ko same datoteke postavite na ločene zagonske strežnike, s čimer se izognete rasti velikosti repozitorija in zmanjšate obremenitev vhodno/izhodnega sistema pri izvajanju operacije kloniranja.

Pri uporabi DotSlash se nabor izvedljivih datotek, specifičnih za platformo, nadomesti z enim samim skriptom, ki vključuje opis logike za izbiro izvršljive datoteke glede na podprte platforme. Po zagonu skripta DotSlash se izvršljiva datoteka, ki je potrebna za trenutno platformo, dinamično prenese, razpakira, preveri glede na kriptografsko zgoščeno vrednost in shrani v lokalni predpomnilnik za nadaljnje zagone. Datoteke se prenašajo v stisnjeni obliki. Skripte DotSlash je mogoče ustvariti samodejno za izdaje, objavljene na GitHubu.

Primer skripta DotSlash za distribucijo zgradb Node.js 18.19.0 za platforme macOS ARM64, macOS x86_64 in Linux x86_64: #!/usr/bin/env dotslash { “name”: “node-v18.19.0”, “ platforme”: { "macos-aarch64": { "velikost": 40660307, ​​​​"hash": "blake3", "digest": "6e2ca33951e586e7670016dd9e503d028454bf9249d5ff556347c3d98c347c34", "format": "tar.gz", " pot": " node- v18.19.0 -darwin-arm64/bin/node", "ponudniki": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v18.19.0-darwin-arm64. tar.gz" } ] }, "macos-x86_64": { "velikost": 42202872, "hash": "blake3", "digest": "37521058114e7f71e0de3fe8042c8fa7908305e9115488c6c29b514f9cd2a24c", "format ": "tar.gz", "pot" : "node-v18.19.0 .64-darwin-x18.19.0/bin/node", "ponudniki": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v64-darwin- x86.tar.gz " } ] }, "linux-x64_44694523": { "velikost": 3, "hash": "blake72", "digest": "81b3fc30a7b1bedc09a3a4478fafc1a02b5e0ebf04ad15ea23d3b9e89212dc18.19.0", "obrazec na": "tar.gz", " pot ": "vozlišče -v64-linux-x18.19.0/bin/vozlišče", "ponudniki": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v64- linux-xXNUMX.tar .gz" } ] } } }

Vir: opennet.ru

Dodaj komentar