gpt4 book ai didi

chef-infra - Chef App和Chef Repo有什么区别

转载 作者:行者123 更新时间:2023-12-03 22:05:37 25 4
gpt4 key购买 nike

我发现有两种生成厨师 repo 的方式,并且被它们的相似性所迷惑。我想知道哪种方法是推荐的,为什么厨师要提供这些命令。也许它们是在不同的上下文中使用的?

$ chef generate app chef-app
$ chef generate repo chef-repo
$ diff chef-app chef-repo | colordiff
Only in chef-app: .git
diff chef-app/.gitignore chef-repo/.gitignore
1,8c1
< .vagrant
< Berksfile.lock
< *~
< *#
< .#*
< \#*#
< .*.sw[a-z]
< *.un~
---
> .rake_test_cache
10,16c3,7
< # Bundler
< Gemfile.lock
< bin/*
< .bundle/*
<
< .kitchen/
< .kitchen.local.yml
---
> ###
> # Ignore Chef key files and secrets
> ###
> .chef/*.pem
> .chef/encrypted_data_bag_secret
Only in chef-app: .kitchen.yml
Only in chef-repo: LICENSE
diff chef-app/README.md chef-repo/README.md
1c1,2
< # chef-app
---
> Overview
> ========
3c4
< TODO: Enter the cookbook description here.
---
> Every Chef installation needs a Chef Repository. This is the place where cookbooks, roles, config files and other artifacts for managing systems with Chef will live. We strongly recommend storing this repository in a version control system such as Git and treat it like source code.
4a6,66
> While we prefer Git, and make this repository available via GitHub, you are welcome to download a tar or zip archive and use your favorite version control system to manage the code.
>
> Repository Directories
> ======================
>
> This repository contains several directories, and each directory contains a README file that describes what it is for in greater detail, and how to use it for managing your systems with Chef.
>
> * `certificates/` - SSL certificates generated by `rake ssl_cert` live here.
> * `config/` - Contains the Rake configuration file, `rake.rb`.
> * `cookbooks/` - Cookbooks you download or create.
> * `data_bags/` - Store data bags and items in .json in the repository.
> * `roles/` - Store roles in .rb or .json in the repository.
>
> Rake Tasks
> ==========
>
> The repository contains a `Rakefile` that includes tasks that are installed with the Chef libraries. To view the tasks available with in the repository with a brief description, run `rake -T`.
>
> The default task (`default`) is run when executing `rake` with no arguments. It will call the task `test_cookbooks`.
>
> The following tasks are not directly replaced by knife sub-commands.
>
> * `bundle_cookbook[cookbook]` - Creates cookbook tarballs in the `pkgs/` dir.
> * `install` - Calls `update`, `roles` and `upload_cookbooks` Rake tasks.
> * `ssl_cert` - Create self-signed SSL certificates in `certificates/` dir.
> * `update` - Update the repository from source control server, understands git and svn.
>
> The following tasks duplicate functionality from knife and may be removed in a future version of Chef.
>
> * `metadata` - replaced by `knife cookbook metadata -a`.
> * `new_cookbook` - replaced by `knife cookbook create`.
> * `role[role_name]` - replaced by `knife role from file`.
> * `roles` - iterates over the roles and uploads with `knife role from file`.
> * `test_cookbooks` - replaced by `knife cookbook test -a`.
> * `test_cookbook[cookbook]` - replaced by `knife cookbook test COOKBOOK`.
> * `upload_cookbooks` - replaced by `knife cookbook upload -a`.
> * `upload_cookbook[cookbook]` - replaced by `knife cookbook upload COOKBOOK`.
>
> Configuration
> =============
>
> The repository uses two configuration files.
>
> * config/rake.rb
> * .chef/knife.rb
>
> The first, `config/rake.rb` configures the Rakefile in two sections.
>
> * Constants used in the `ssl_cert` task for creating the certificates.
> * Constants that set the directory locations used in various tasks.
>
> If you use the `ssl_cert` task, change the values in the `config/rake.rb` file appropriately. These values were also used in the `new_cookbook` task, but that task is replaced by the `knife cookbook create` command which can be configured below.
>
> The second config file, `.chef/knife.rb` is a repository specific configuration file for knife. If you're using the Opscode Platform, you can download one for your organization from the management console. If you're using the Open Source Chef Server, you can generate a new one with `knife configure`. For more information about configuring Knife, see the Knife documentation.
>
> http://docs.opscode.com/knife.html
>
> Next Steps
> ==========
>
> Read the README file in each of the subdirectories for more information about what goes in those directories.
Only in chef-repo: Rakefile
Only in chef-repo: certificates
Only in chef-repo: chefignore
Only in chef-repo: config
Common subdirectories: chef-app/cookbooks and chef-repo/cookbooks
Only in chef-repo: data_bags
Only in chef-repo: environments
Only in chef-repo: roles

最佳答案

repo生成器替代了许多人从GitHub克隆的旧chef-repo框架。 app生成器只是一个实验。可以预见,它是旧式单一 repo 布局与Berkshelf繁重的每本食谱库中的一半之间的中间点。 app布局在一个git repo中有几本紧密相关的食谱,但是总体上仍然有多个repo,并且着重于角色/包的食谱。

关于chef-infra - Chef App和Chef Repo有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28102653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com