Chef infra 使用chef/artifactory客户端作为chef远程文件提供程序

Chef infra 使用chef/artifactory客户端作为chef远程文件提供程序,chef-infra,artifactory,chef-recipe,Chef Infra,Artifactory,Chef Recipe,Chef cookbooks可以用来下载工件和执行其他操作的Chef。我假设它将被用作资源的提供者,例如,但是没有提供示例代码、关于在Chef中显式使用它的文档,或者其他采用这种方法的人 你是如何将厨师和人工制品结合起来的 你的烹饪书/食谱是否可以在不与人工制品紧密耦合的情况下重新发行 这两个项目(Artifactory gem和Chef)没有关联,前者也不是食谱。有一本名为《Artifacts》的烹饪书,其中有一个自定义资源可从Artifactory下载,但我不确定它是否已被维护。有一个wik

Chef cookbooks可以用来下载工件和执行其他操作的Chef。我假设它将被用作资源的提供者,例如,但是没有提供示例代码、关于在Chef中显式使用它的文档,或者其他采用这种方法的人

  • 你是如何将厨师和人工制品结合起来的
  • 你的烹饪书/食谱是否可以在不与人工制品紧密耦合的情况下重新发行

  • 这两个项目(Artifactory gem和Chef)没有关联,前者也不是食谱。有一本名为《Artifacts》的烹饪书,其中有一个自定义资源可从Artifactory下载,但我不确定它是否已被维护。

    有一个wiki页面,介绍如何在Artifactory中配置厨师知识库,以及如何配置刀从Artifactory安装:


    这就是你要找的吗

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

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


    要将其用于“远程文件”,您只需创建一个名为“本地配置工件”的新存储库,并将您的文件上载到该存储库即可。Artifactory真正的好处是它可以为您执行元数据计算(md5/sha1/sha256/等),然后您可以在您的食谱中输入该值,这样您就可以进行“幂等”下载,只有在校验和更改时才会重新下载。

    谢谢,但这不是问题所在。我说的是厨师烹饪书菜谱能够从Artifactory检索文件,但可以让你继续使用远程文件资源。感谢你提到ArtifactCookbook,尽管我同意它看起来已经废弃,并不理想。是的,我怀疑你是一个人,需要自己写一些东西。理想情况下,厨师烹饪书应该有一种方法来利用人工制品,这样厨师烹饪书就可以在厨师超市上重新分发,而不必与人工制品紧密耦合。这很好,但目前还不存在。不过,我的poise archive cookbook是为可插入而构建的,因此在某些情况下,您可能可以使用它。您可以使用内置的远程文件资源来完成简单的任务,也可以使用Ark cookbook:是的,我认为artifactory gem对于Ruby开发来说是非常重要的,而不是要利用Chef cookbook。基于这个假设,我同意将Artifactory设置为文件服务器可能是最好的选择。谢谢对于使用gem的内部公司食谱来说,可能更方便地获取工件,尤其是当您打开了身份验证时,您链接的帖子中的#5片段很好地解释了这一点,
    Chef已经创建了artifactoryrubygem,该RubyGem对您进行身份验证,并从您的食谱中调用restapi到Artifactory。