Meta 开源 DotSlash 工具,采用高性能 Rust 语言编写

Meta开源了内部的Simplified可执行文件部署工具“DotSlash”。

Meta又有一个Rust更新要告诉你。Meta正式开源了DotSlash,这是一个尖端的命令行实用程序,旨在简化在不同平台上分发可执行文件。DotSlash采用高性能语言Rust编写,解决了在源代码控制中管理大型可执行文件的挑战,无需将所有支持的平台文件都包含在一个软件包中。

DotSlash的主要特点:

避免I/O密集的克隆操作:DotSlash通过用支持的平台的单个脚本替换一组特定于平台的可执行文件,提供了一个解决方案。这种方法显著减少了对存储库大小的影响,防止了缓慢和资源密集型的克隆操作。

高效处理可执行文件:该实用程序透明地管理适用于当前操作系统和CPU的适当远程工件的获取、解压缩和验证。DotSlash自动化了这些过程,确保了开发人员的无缝体验,并减少了手动处理中可能出现的错误。

Meta工作流的自动化:在Meta,大多数DotSlash文件都是通过自动化生成并提交到源代码控制的。为了配合开源发布,Meta将提供一个GitHub操作。此操作使Meta以外的开发人员可以轻松地组建一个类似的设置,促进可执行文件管理的一致性和可靠性。

跨平台兼容性:DotSlash采用Rust语言编写,该语言以其性能和安全特性而闻名。这个选择确保了该实用程序跨平台,满足了不同操作系统上开发人员的多样化需求。

DotSlash的工作原理:

DotSlash作为一个命令行实用程序运行,执行脚本来自动下载适合当前平台的可执行文件,确保其完整性,并促进无缝执行。通过将收集的可执行文件的信息存储在代码旁边的存储库中,DotSlash将文件本身分开存储在专用服务器上。这种创新性方法防止了存储库大小的增长,并减轻了克隆操作中输入/输出系统的负担。

使用DotSlash时,开发人员可以从简化的工作流程中受益。一组特定于平台的可执行文件被单个脚本替换,该脚本包含了根据支持的平台选择适当可执行文件的逻辑。运行DotSlash脚本会触发动态下载、解压缩、根据密码哈希验证和所需可执行文件的本地缓存,以便进行后续运行。

此外,DotSlash脚本可以自动生成用于在GitHub上发布的版本,为开发人员提供了额外的便利。

以下是一个DotSlash脚本的示例,这个脚本可以让Node.js在macOS ARM、macOS x64和Linux平台上运行。

#!/usr/bin/env dotslash
{
  "name": "node-v18.19.0",
  "platforms": {
    "macos-aarch64": {
      "size": 40660307,
      "hash": "blake3",
      "digest": "6e2ca33951e586e7670016dd9e503d028454bf9249d5ff556347c3d98c347c34",
      "format": "tar.gz",
      "path": "node-v18.19.0-darwin-arm64/bin/node",
      "providers": [
        {
          "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",
      "path": "node-v18.19.0-darwin-x64/bin/node",
      "providers": [
        {
          "url": "https://nodejs.org/dist/v18.19.0/node-v18.19.0-darwin-x64.tar.gz"
        }
      ]
    },
    "linux-x86_64": {
      "size": 44694523,
      "hash": "blake3",
      "digest": "72b81fc3a30b7bedc1a09a3fafc4478a1b02e5ebf0ad04ea15d23b3e9dc89212",
      "format": "tar.gz",
      "path": "node-v18.19.0-linux-x64/bin/node",
      "providers": [
        {
          "url": "https://nodejs.org/dist/v18.19.0/node-v18.19.0-linux-x64.tar.gz"
        }
      ]
    }
  }
}

开源与许可

Facebook决定开源DotSlash将鼓励开发者社区内的合作与创新。DotSlash采用MIT和Apache 2.0许可证进行分发,允许开发者自由使用、修改和分发该实用程序,同时与现有的开源项目保持一定的兼容性。

欲了解更多详情,请访问Facebook engineering blog & GitHub repo for DotSlash

The post Meta 开源 DotSlash 工具,采用高性能 Rust 语言编写 first appeared on Linux迷.

版权声明:
作者:Zad
链接:https://www.techfm.club/p/105371.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>