如何使用Artifactory中的货物仓库

如何使用Artifactory中的货物仓库

拉斯特已经连续五年占据榜首Stackoverflow的最受欢迎的编程语言调查.被许多人视为C/ c++之后的下一步,该语言正迅速被嵌入式设备开发人员所接受,并作为一种健壮的物联网系统。

在JFrog,我们注意到并热切欢迎Rust开发人员使用健壮的二进制管理,以及它如何促进持续集成。我们已经将Cargo (Rust编程语言的包管理系统)添加到Artifactory中支持的存储库类型的长列表中。

《Rust》获得了超过86%的开发者的好评?您如何使用Artifactory中的Cargo存储库来加速您的软件开发生命周期?

为什么生锈呢?

Mozilla Research将Rust描述为一种“关注速度、内存安全和并行性的系统编程语言”。以下主要功能有助于实现这一愿景:

  • 自动垃圾收集-生锈盾牌,防止资源泄漏bug强制执行RAII(资源获取是初始化),每当拥有资源的对象超出作用域时释放资源。2022世界杯阿根廷预选赛赛程
  • 强大的并发性支持Rust被设计用来安全有效地处理并发多线程编程。强类型,以及发送和同步特征帮助确保同步、线程安全的操作,以及一个标准线程库,使Rust代码能够并行运行。
  • 安全检查Rust编译器强制执行内存安全和其他检查,以帮助确保干净、健壮的代码。
  • 可重复使用的包装Rust提供了一个强大的系统,使开发人员能够创建可重用的代码单元,这些代码单元组织成板条箱,可以在项目中私下共享,也可以与他人公开共享。
  • 依赖关系管理- - -Rust公司的货物包装经理提供下载和编译包依赖项的工具。

这些特性,以及其他流行的语法特性(例如复杂数据类型,可变/不可变借用,和可恢复和不可恢复的错误处理开发人员)喜悦。

远程货物存储库

友好和活跃的Rust社区维护板条箱。io包注册表用于分发开源软件包。作为Rust程序员,您将依靠这个不断增长的公共库来实现应用程序的大多数核心服务。

为了帮助确保Rust构建在团队间不间断的速度和一致性,使用Artifactory远程存储库来代理crate .io。

Artifactory中的远程存储库充当在远程URL中管理的存储库或注册中心的缓存代理。远程回购的内容和本地源之间没有区别。

当你把这个最好的DevOps实践应用到工作中时,你和你的团队将获得:

  • 地点在速度-代理将您经常使用的包拉入并保存到构建发生的计算环境中,无论是在云中还是on-prem中,从而最小化网络延迟。
  • 连接保护——你的箱子。IO代理仍然可用,即使板条箱。IO服务器不是由于连接不佳或中断,也不是由于远程服务器本身遭受停机
  • 不变性的执法-一旦一个包的版本在代理中,它是不变的,在每个使用它的构建中都是一样的。这可以防止任何东西通过不适当的强制推入公共回购潜入您的构建。

为crates.io设置远程库代理很简单:

  1. 创建一个新的Cargo远程存储库在Artifactory
    在Artifactory中创建一个新的Cargo远程存储库
  2. 命名远程存储库并为crates.io分配URL
    命名远程存储库并为crates.io分配URL
  3. 在你的申请包里config.tomlmanifest文件,配置[registry] default重定向到Artifactory远程回购,而不是crates.io。(请参阅工件的浏览器说明。)

    您的远程存储库代理将是只读的,这对于为构建引入开源依赖的大多数日常工作来说是应该的。如果您需要发布到板条箱。Io,您可以在下面为它定义一个名称(注册中心)把它和——注册表选项。(只要确保你的package.publish键还指定了注册表名,以便能够发布到它。)

    #将artifactory设置为默认注册表,并保存传递的——registry参数[registry] default = "art-crates-remote" [registry]# Artifactory中的远程存储库代理(只读)Art-crates-remote index = {index = "https://artprod.mycompany/artifactory/git/cargo-remote. "git”}#可选,使用——registry来发布到crates.ioCrates-io = {index = " https://github.com/rust-lang/crates.io-index "}

本地货物仓库

对于只在团队或部门内创建和共享的板条箱,应该维护私有Cargo注册表。在Artifactory中,您可以通过本地Cargo存储库创建任意数量的注册中心。

例如,从事“项目X”的团队可能建立并使用本地货物回购:

  1. 在Artifactory中创建名为“cargo-local-projectx”的本地货物存储库
  2. config.toml文件,配置一个注册表定义为本地回购,并设置package.publish键允许发布到该注册表。
    [注册表]projectx = {index = "https://artprod.mycompany/artifactory/git/cargo-local_projectx. "Git "} [package] publish = " projectx "
  3. 当你发布你的板条箱在Artifactory本地回购通过货物发布,指定——注册表选择。
    注册表“projectx”
  4. 要使用本地回购中的板条箱作为Project X应用程序源代码中的依赖项,请指定注册表随着版本
    [dependencies] some-crate = {version = "1.0", registry = "projectx"}

结论

通过对Artifactory中Cargo的远程和本地存储库的战略性使用,您将为您的SDLC以使DevOps成功。您可以确保所有Rust开发团队的依赖项和包的一致性,使用原生Cargo支持不会妨碍他们。您还可以使用Artifactory的细粒度权限系统来管理跨团队的访问。

尝试Artifactory的货物仓库自己看!你可以开始把这些方法付诸实践免费JFrog云帐户!

相关资源:2022世界杯阿根廷预选赛赛程