【问题标题】:Handle cookbook version depends on environment处理说明书版本取决于环境
【发布时间】:2016-03-10 06:23:44
【问题描述】:

我有一个疑问。我已经为应用程序创建了食谱,在构建时,我正在根据环境更改食谱的属性。所以在构建结束时,我生成的工件很少。一个用于实际产品,其他几个是每个环境的食谱工件。 现在,我的疑问是,如何在这里为每本食谱处理版本? 在构建过程中,我可以只有一个版本,但如果我将相同版本应用于所有说明书,那么当我在选定节点上运行 chef-client 时,它们将相互覆盖。 有人可以建议我该如何处理吗?

问候

【问题讨论】:

    标签: chef-infra devops


    【解决方案1】:

    菜谱的版本可以在metadata.rb下管理。

    name             'helloworld'
    maintainer       'YOUR_COMPANY_NAME'
    maintainer_email 'YOUR_EMAIL'
    license          'All rights reserved'
    description      'Installs/Configures helloworld'
    long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
    version          '0.1.0'
    

    如果 Chef 环境是基于 DevProdTest 创建的,我们可以在每个环境下标记一个食谱版本,以便运行 chef-client 不会有任何冲突。

    例如。

    env_dev.rb

    name "development"
    description "The master development branch"
    cookbook_versions({
        "nginx" => "<= 1.2.1",
        "apt" => "= 0.0.2"
    })
    

    env_prod.rb

    name "production"
    description "The master production branch"
    cookbook_versions({
        "nginx" => "<= 1.1.0",
        "apt" => "= 0.0.1"
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多