Mae Facebook wedi agor y cod ar gyfer y prosiect DotSlash

Cyhoeddodd Facebook ffynhonnell agored dotslash, cyfleustodau llinell orchymyn a gynlluniwyd i'w gwneud hi'n haws dosbarthu set o ffeiliau gweithredadwy ar gyfer gwahanol lwyfannau. Mae'r cyfleustodau wedi'i gynllunio i redeg sgriptiau sy'n awtomeiddio lawrlwytho ffeil weithredadwy sy'n addas ar gyfer y platfform presennol, gan wirio ei chywirdeb a'i gweithrediad. Mae'r cod cyfleustodau wedi'i ysgrifennu yn Rust ac fe'i dosberthir o dan drwyddedau MIT ac Apache 2.0.

Mae'r cyfleustodau'n datrys problemau tebyg i sgriptiau cregyn ar gyfer lansio ffeiliau gweithredadwy ar gyfer y platfform presennol, ond ar yr un pryd yn dileu'r angen i gynnwys ffeiliau gweithredadwy ar gyfer yr holl lwyfannau a gefnogir yn y pecyn. Mae DotSlash hefyd yn caniatáu ichi storio gwybodaeth am y ffeiliau gweithredadwy a gasglwyd mewn ystorfa ynghyd â'r cod, wrth osod y ffeiliau eu hunain ar weinyddion cychwyn ar wahân, sy'n osgoi twf maint y storfa ac yn lleihau'r llwyth ar y system mewnbwn / allbwn wrth berfformio gweithrediadau clonio.

Wrth ddefnyddio DotSlash, mae'r set o ffeiliau gweithredadwy platfform-benodol yn cael ei disodli gan sgript sengl sy'n cynnwys disgrifiad o'r rhesymeg ar gyfer dewis y ffeil gweithredadwy mewn perthynas â'r llwyfannau a gefnogir. Ar ôl rhedeg sgript DotSlash, mae'r ffeil gweithredadwy sy'n ofynnol ar gyfer y platfform presennol yn cael ei lawrlwytho'n ddeinamig, ei ddadbacio, ei wirio yn erbyn hash cryptograffig, a'i storio mewn storfa leol ar gyfer rhediadau dilynol. Trosglwyddir ffeiliau ar ffurf gywasgedig. Gellir cynhyrchu sgriptiau DotSlash yn awtomatig ar gyfer datganiadau a gyhoeddir ar GitHub.

Enghraifft o sgript DotSlash ar gyfer dosbarthu adeiladau Node.js 18.19.0 ar gyfer llwyfannau macOS ARM64, macOS x86_64 a Linux x86_64: #!/usr/bin/env dotslash { “name”: “node-v18.19.0”, “ llwyfannau": { " macos-aarch64 ": { "maint": 40660307, ​​"hash": "blake3", "treuliad": " 6e2ca33951e586e7670016dd9e503d028454bf9249d5ff556347 ", "fformat", "ztar": " node- v3 -darwin-arm98/bin/node", "providers": [ { "url" : " https://nodejs.org/dist/v347/node-v34-darwin-arm18.19.0. tar.gz" } ] }, "macos-x64_18.19.0": { "maint": 18.19.0, "hash": "blake64", "digest": " 86e64f42202872e3de37521058114fe7c71fa0e3cfformat": " .gz", "llwybr" : "node-v8042 .8-darwin-x7908305/bin/node", "providers" : [ { " url " : " https://nodejs.org/dist/v9115488/node-v6-darwin- x29.tar.gz " } ] } , "linux-x514_9" : { "maint": 2, "hash": "blake24", "treuliad": "18.19.0b64fc18.19.0a18.19.0b64bedc86a64a44694523fafc3a72b81e3ea30bf7dd":1a09b3e4478e1bf02dd "5", gz", " llwybr " : " nod -v0-linux-x04/bin/node " , " Darparwyr " : [ { " url " : " https://nodejs.org/dist/v15/node-v23- linux-x3.tar .gz" } } } }

Ffynhonnell: opennet.ru

Ychwanegu sylw