Spec-Zone.ru › Chef 16

knife diff

[edit on GitHub]

Используйте подкоманду knife diff для сравнения различий между файлами и каталогами на сервере Chef Infra и в chef-repo. Например, чтобы сравнить файлы на сервере Chef Infra перед загрузкой или выгрузкой файлов с помощью подкоманд knife download и knife upload, или чтобы убедиться, что определённые файлы в нескольких производственных средах идентичны. Эта подкоманда аналогична команде git diff, которая может использоваться для сравнения содержимого chef-repo с синхронизированным git-репозиторием.

Синтаксис

Эта подкоманда имеет следующий синтаксис:

knife diff [PATTERN...] (options)

Параметры

Примечание

Обратите внимание на список общих параметров, доступных для этой (и всех) подкоманд и плагинов knife, в документации по общим параметрам.

Эта подкоманда имеет следующие параметры:

--chef-repo-path PATH

Путь к chef-repo. Этот параметр переопределит значение по умолчанию для пути к chef-repo. Значение по умолчанию: совпадает со значением, указанным в chef_repo_path в файле client.rb.

--cookbook-version VERSION

Версия кулинарной книги (cookbook), которую необходимо загрузить.

--concurrency

Количество разрешённых одновременных подключений. Значение по умолчанию: 10.

--diff-filter=[(A|D|M|T)...[*]]

Выбрать только файлы, которые были добавлены (A), удалены (D), изменены (M) и/или тип которых был изменён (T). Может использоваться любая комбинация символов фильтра, включая отсутствие символов фильтра. Используйте * для выбора всех путей, если файл соответствует другим критериям в сравнении. Значение по умолчанию: nil.

--name-only

Показать только имена изменённых файлов.

--name-status

Показать только имена файлов со статусом Added, Deleted, Modified, или Type Changed.

--no-recurse

Использовать --no-recurse для отключения рекурсивного вывода каталога. Значение по умолчанию: --recurse.

--repo-mode MODE

Структура локального chef-repo. Возможные значения: static, everything, или hosted_everything. Используйте static для отображения только ролей, сред, кулинарных книг и пакетов данных. По умолчанию, everything и hosted_everything динамически выбираются в зависимости от типа сервера. Значение по умолчанию: everything / hosted_everything.

Примечание

Для получения дополнительной информации о добавлении определённых параметров knife в качестве настроек в файле config.rb, см. config.rb.

Примеры

В следующих примерах показано, как использовать эту подкоманду knife:

Сравнение файлов, содержащих данные JSON

Для сравнения роли base.json с ролью webserver.json введите:

knife diff roles/base.json roles/webserver.json

Сравнение chef-repo и сервера

Для сравнения различий между локальным chef-repo и файлами на сервере Chef Infra введите:

knife diff

Сравнение и вывод результатов

Для сравнения узла с именем node-lb и вывода только файлов, которые были добавлены, удалены, изменены или тип которых был изменён, введите:

knife diff --name-status node-lb

чтобы получить результат примерно такого вида:

node-lb/recipes/eip.rb
node-lb/recipes/heartbeat-int.rb
node-lb/templates/default/corpsite.conf.erb
node-lb/files/default/wildcard.node.com.crt
node-lb/files/default/wildcard.node.com.crt-2009
node-lb/files/default/wildcard.node.com.key
node-lb/.gitignore
node-lb/Rakefile

© 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_diff/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API