【问题标题】:Using chef/artifactory-client as chef remote_file provider使用 chef/artifactory-client 作为 chef remote_file 提供者
【发布时间】:2018-05-02 10:07:10
【问题描述】:

Chef developed a Ruby gem for interacting with Artifactory Chef 食谱可用于下载工件和执行其他操作。我认为它将被用作remote_file 等资源的提供者,但是没有提供示例代码、在 Chef 中明确使用它的文档或其他采用这种方法的人。

  1. 您如何将 Chef 与 Artifactory 集成?
  2. 在不与 Artifactory 紧密耦合的情况下,您的食谱/食谱是否可再分发?

【问题讨论】:

    标签: chef-infra artifactory chef-recipe


    【解决方案1】:

    Artifactory 是一个通用的二进制托管软件,即使你不需要它的各种特定 API 兼容选项(RubyGems /PyPi /Docker /etc),你仍然可以创建一个像网络一样的“哑”文件存储库可以匿名或通过身份验证的方法提供文件的服务器。

    它也是一个出色的缓存代理,我经常在其他“哑”文件存储库之前使用它,例如 NodeJS 二进制存档的 NodeJS.org 下载目录或其他我想确保有备份的远程安装程序我在管道中使用的任何版本的副本。

    要将它用于“remote_file”,您只需创建一个名为“local-config-artifacts”的新存储库并将文件上传到那里。 Artifactory 的真正好处是它可以为您执行元数据计算(md5/sha1/sha256/etc),然后您可以在您的食谱食谱中输入该值,以便您可以进行“幂等”下载,该下载只会重新如果校验和发生变化,请下载。

    【讨论】:

    • 是的,我认为人工宝石对于 Ruby 开发来说真的很重要,而不是使用 Chef 食谱。按照这个假设,我同意将 Artifactory 设置为文件服务器可能是最好的选择。谢谢!
    • 对于内部公司食谱,使用 gem 可能更容易获取工件,尤其是当您打开身份验证时,您链接的帖子中的 #5 sn-p 很好地解释了这一点,@ 987654321@
    【解决方案2】:

    这两个项目(Artifactory gem 和 Chef)不相关,前者不是食谱。有一本名为 artifact 的食谱,其中包含用于从 Artifactory 下载的自定义资源,但我不确定它是否已得到维护。

    【讨论】:

    • 感谢您提到神器食谱,尽管我同意它看起来已废弃且不理想。
    • 是的,我怀疑你是一个人,需要自己写一些东西。
    • 理想情况下,Chef 食谱应该有一种利用 Artifactory 的方式,使得食谱可以在 Chef Supermarket 上重新分发,而无需与 Artifactory 紧密耦合。
    • 那很好,但目前它并不存在。不过,我的 poise-archive 食谱是可插入的,因此您可以在某些情况下使用它。
    • 您可以将内置的 remote_file 资源用于简单任务或方舟食谱:github.com/chef-cookbooks/ark
    【解决方案3】:

    有一个关于如何在 Artifactory 中配置 Chef 存储库以及如何配置您的刀以从 Artifactory 安装的 wiki 页面: https://www.jfrog.com/confluence/display/RTF/Chef+Cookbook+Repositories

    这就是你要找的吗?

    【讨论】:

    • 谢谢,但这不是问题所在。我说的是厨师食谱食谱能够从 Artifactory 中检索文件,但以一种允许您继续使用诸如 remote_file 资源之类的方式。
    猜你喜欢
    • 2023-03-18
    • 1970-01-01
    • 2016-01-18
    • 2020-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多