【问题标题】:How to create a chef repo from command line?如何从命令行创建厨师存储库?
【发布时间】:2016-01-03 00:38:00
【问题描述】:

chef repo 用于管理多个食谱、角色、策略等。这是一个chef repo 模板。是否有一些标准的命令行方式可以让我们创建空白的厨师存储库(当然还有所有的样板代码),而不必每次都克隆 git 存储库。

有一个可以创建一本食谱:

berks cookbook create <cookbookname>     # Using berkshelf

但我不知道有任何这样的命令来创建厨师仓库。

【问题讨论】:

    标签: chef-infra


    【解决方案1】:

    我认为这些天的官方方式是获取Chef DevKit

    ChefDK 有一个chef generate app &lt;chef-repo-name&gt; 的命令。下面提到的旧方法已被弃用。 github chef-repo 指示用户在 README 中获取 ChefDK。

    大多数tutorials 提出这样的建议,这就是我一直在做的......

    root@intro:~# wget http://github.com/opscode/chef-repo/tarball/master
    root@intro:~# tar -zxf master
    root@intro:~# mv opscode-chef-repo* chef-repo
    root@intro:~# rm master
    

    我已经将它分叉到我自己的 git 存储库中,因此我可以使用我的个人详细信息对其进行自定义。实例化 repo 的通用方法无论如何都不是最佳选择,除非您在同一台机器上创建大量 repo。

    【讨论】:

    • 是的,这是显而易见的方法;类似于克隆,只是您要获取 tarball(实际上这需要更多步骤)。 (如我的问题中所述)我正在寻找类似命令的方法:chef repo create &lt;reponame&gt;。这样的事情可以节省一些用户每次寻找 chef-repo 模板并进行克隆/获取等并重新初始化 git repo 的工作。
    • Chef DevKit 包含一个为 chef-repo 生成的命令。
    • 看起来不错,chef generate app &lt;chef-repo-name&gt; 命令完成了这项工作。在验证命令后,我已编辑您的答案以添加此信息。接受编辑后,我会将答案标记为已接受,因为这是我正在寻找的内容。
    【解决方案2】:
    1. 下载/安装Chef DevKit
    2. 将 chef 和 ruby​​ 添加到您的路径(如果尚未完成,请参阅下文了解更多信息)
    3. $ chef generate repo chef-repo(注意:最后一个参数是您的主厨仓库的名称)

    在你的 mac 路径上添加 chef/embedded-ruby

    $ echo 'export PATH="/opt/chefdk/embedded/bin:$PATH"' >> ~/.bash_profile && source ~/.bash_profile
    
    $ echo 'export PATH="/opt/chefdk/bin:$PATH"' >> ~/.bash_profile && source ~/.bash_profile
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-17
      • 1970-01-01
      • 2016-08-02
      • 1970-01-01
      • 2019-08-24
      • 1970-01-01
      相关资源
      最近更新 更多