【发布时间】:2015-06-24 13:28:21
【问题描述】:
我的公司一直在对 Chef 进行大量投资。我们已经建立了一个受人尊敬的食谱库来自动化我们的基础设施。我们故意忽略了 Chef Server 和食谱共享的问题,因为我们希望首先在我们的食谱中获得一些临界质量,以推动我们如何解决这个问题。现在我们在那里,我们正在探索选择。我们已经对 Artifactory 进行了大量投资,我们很高兴使用 Artifactory 中的 nuget、ivy、maven、npm 和 bower 存储库来存储我们跨 Windows/.NET 和 Java 的 CI 系统产生的几乎所有内容。我一直在阅读关于这个主题的 SO:
Managing custom cookbooks in a chef repo
What do Berkshelf-api and Chef Supermarket do differently than traditional artifact repositories?
当我们已经在 Artfiactory 中拥有一个通用工件服务器时,我很难将 Chef Server 视为食谱存储库。最适合我们当前环境的模型是从我们的 Jenkins 工作中将食谱发布到 Artifactory,并根据需要使用 Berkshelf 将它们从那里拉下来。从我的阅读来看,Berkshelf 似乎可以与 Artifactory 作为来源进行交流,但我还没有找到有关如何做到这一点的详细信息。到目前为止,我们遇到的每个包管理器都有一些指向 Artifactory 的方法,所以我假设这是可行的。
任何人都可以分享有关如何最好地解决此问题的任何指导吗?谁能提供有关 berkshelf 是否可以愉快地做到这一点的任何细节?
【问题讨论】:
-
长但仍不清楚,你是从 chef_solo 切换到 chef-server 的做事方式吗?
-
不确定您所说的“chef_solo 到 chef-server 的做事方式”到底是什么意思。我们一直专注于创建食谱并使用 chef-client+localmode/chef-solo 运行它们。我们将它们放在 svn/git 中,然后在我们想要的机器上拉取并运行它们。我们对扔厨师服务器犹豫不决,因为不清楚它实际上对我们有什么作用。只有当我们 90% 的技术工件都驻留在 Artifactory 中时,我们才会建立一个厨师服务器来充当食谱的仓库,这将是很奇怪的。使用 Chef Server 在我们的节点上运行说明书对我们来说没有多大价值
-
我的主要问题是berkshelf被指向神器
-
嗯,相当广泛,但要回答 Berkshelf 源:它们是 berkshelf API 服务器(包括在超市中,计划包括在 chef-server 12 中)、路径和 git/github 源。它是开源的,如果您需要特定的人工插件,您可以编写自己的插件。如果您不需要跨节点搜索来定义某些节点中的对等/条目,则可以避免使用厨师服务器。
标签: chef-infra artifactory berkshelf