Facebook đã mở mã cho dự án DotSlash

Facebook đã công bố mã nguồn mở của dotslash, một tiện ích dòng lệnh được thiết kế để giúp phân phối một tập hợp các tệp thực thi cho các nền tảng khác nhau dễ dàng hơn. Tiện ích này được thiết kế để chạy các tập lệnh tự động tải xuống tệp thực thi phù hợp với nền tảng hiện tại, kiểm tra tính toàn vẹn và khả năng thực thi của nó. Mã tiện ích được viết bằng Rust và được phân phối theo giấy phép MIT và Apache 2.0.

Tiện ích giải quyết các vấn đề tương tự như tập lệnh shell để khởi chạy các tệp thực thi cho nền tảng hiện tại, nhưng đồng thời loại bỏ nhu cầu đưa các tệp thực thi cho tất cả các nền tảng được hỗ trợ vào gói. DotSlash cũng cho phép bạn lưu trữ thông tin về các tệp thực thi được thu thập trong kho lưu trữ cùng với mã, đồng thời đặt các tệp đó trên các máy chủ khởi động riêng biệt, điều này tránh tăng kích thước kho lưu trữ và giảm tải cho hệ thống đầu vào/đầu ra khi thực hiện hoạt động nhân bản.

Khi sử dụng DotSlash, tập hợp các tệp thực thi dành riêng cho nền tảng được thay thế bằng một tập lệnh duy nhất bao gồm mô tả logic để chọn tệp thực thi liên quan đến các nền tảng được hỗ trợ. Sau khi chạy tập lệnh DotSlash, tệp thực thi cần thiết cho nền tảng hiện tại sẽ được tải xuống động, giải nén, xác minh dựa vào hàm băm mật mã và được lưu trữ trong bộ đệm cục bộ cho các lần chạy tiếp theo. Các tập tin được chuyển ở dạng nén. Tập lệnh DotSlash có thể được tạo tự động cho các bản phát hành được xuất bản trên GitHub.

Ví dụ về tập lệnh DotSlash để phân phối bản dựng Node.js 18.19.0 cho nền tảng macOS ARM64, macOS x86_64 và Linux x86_64: #!/usr/bin/env dotslash { “name”: “node-v18.19.0”, “ nền tảng”: { "macos-aarch64": { "size": 40660307, ​​​"hash": "blake3", "digest": "6e2ca33951e586e7670016dd9e503d028454bf9249d5ff556347c3d98c347c34", "format": "tar.gz", "path": " nút- v18.19.0 -darwin-arm64/bin/node", "nhà cung cấp": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v18.19.0-darwin-arm64. tar.gz" } ] }, "macos-x86_64": { "size": 42202872, "hash": "blake3", "digest": "37521058114e7f71e0de3fe8042c8fa7908305e9115488c6c29b514f9cd2a24c", "format": "tar. gz", "đường dẫn" : "node-v18.19.0 .64-darwin-x18.19.0/bin/node", "nhà cung cấp": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v64-darwin- x86.tar.gz " } ] }, "linux-x64_44694523": { "size": 3, "hash": "blake72", "digest": "81b3fc30a7b1bedc09a3a4478fafc1a02b5e0ebf04ad15ea23d3b9e89212dc18.19.0", "format": "tar. gz", " path ": "node -v64-linux-x18.19.0/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v64- linux-xXNUMX.tar .gz" } ] } } }

Nguồn: opennet.ru

Thêm một lời nhận xét