Загрузка knife
Используйте подкоманду knife upload, чтобы загрузить данные на сервер Chef Infra из текущей рабочей директории в chef-repo. С помощью этой подкоманды можно загрузить следующие типы данных:
- Кулинарные книги
- Наборы данных
- Роли, хранящиеся в формате JSON
- Среды, хранящиеся в формате JSON
(Роли и среды, хранящиеся в формате Ruby, не будут загружены.) Эта подкоманда часто используется совместно с knife diff, которая позволяет увидеть, какие изменения будут загружены, и затем с knife download, которая делает обратное knife upload.
Синтаксис
Эта подкоманда имеет следующий синтаксис:
knife upload [PATTERN...] (options)
Параметры
Примечание
Эта подкоманда имеет следующие параметры:
--chef-repo-path PATHПуть к chef-repo. Этот параметр переопределит путь по умолчанию к chef-repo. Значение по умолчанию: совпадает с значением, указанным в
chef_repo_pathв файле client.rb.--concurrencyКоличество разрешенных одновременных подключений. Значение по умолчанию:
10.--[no-]diffЗагружать только новые и измененные файлы. Установите в значение
falseдля загрузки всех файлов. Значение по умолчанию:true.--[no-]forceИспользуйте
--forceдля загрузки ролей, кулинарных книг и т. д., даже если файл в директории идентичен (по умолчанию, никакойPOSTилиPUTне выполняется, если фактически не произошло изменений). Значение по умолчанию:--no-force.--[no-]freezeТребовать включения изменений в кулинарную книгу в качестве новой версии. Только параметр
--forceможет переопределить это значение. Значение по умолчанию:false.-
-n,--dry-run Не выполнять никаких действий и только выводить результаты. Значение по умолчанию:
false.--[no-]purgeИспользуйте
--purgeдля удаления ролей, кулинарных книг и т. д. с сервера Chef Infra, если соответствующие файлы отсутствуют в chef-repo. По умолчанию такие объекты не удаляются. Значение по умолчанию:--no-purge.--[no-]recurseИспользуйте
--no-recurseдля отключения рекурсивной загрузки директорий. Значение по умолчанию:--recurse.--repo-mode MODEМакет локального chef-repo. Возможные значения:
static,everything, илиhosted_everything. Используйтеstaticтолько для ролей, сред, кулинарных книг и наборов данных. По умолчаниюeverythingиhosted_everythingдинамически выбираются в зависимости от типа сервера. Значение по умолчанию:everything/hosted_everything.
Примечание
Примеры
В следующих примерах показано, как использовать эту подкоманду knife:
Загрузка всего chef-repo
Перейдите в корень chef-repo и введите:
knife upload .
или, находясь где угодно в chef-repo, введите:
knife upload /
для загрузки всех кулинарных книг и наборов данных, а также всех ролей и сред, хранящихся в формате JSON. (Роли и среды, хранящиеся в формате Ruby, не будут загружены.)
Загрузка директории /cookbooks
Перейдите в корень chef-repo и введите:
knife upload cookbooks
или, находясь где угодно в chef-repo, введите:
knife upload /cookbooks
Загрузка директории /environments
Перейдите в корень chef-repo и введите:
knife upload environments
или, находясь где угодно в chef-repo, введите:
knife upload /environments
для загрузки всех сред, хранящихся в формате JSON. (Среды, хранящиеся в формате Ruby, не будут загружены.)
Загрузка одной среды
Перейдите в корень chef-repo и введите:
knife upload environments/production.json
или, находясь в директории environments/, введите:
knife upload production.json
Загрузка директории /roles
Перейдите в корень chef-repo и введите:
knife upload roles
или, находясь где угодно в chef-repo, введите:
knife upload /roles
для загрузки всех ролей, хранящихся в формате JSON. (Роли, хранящиеся в формате Ruby, не будут загружены.)
Загрузка кулинарных книг и ролей
Перейдите в корень chef-repo и введите:
knife upload cookbooks/apache\* roles/webserver.json
Использование вывода knife deps для передачи команды knife upload
knife upload `knife deps nodes/*.json`
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/knife_upload/