Я использую chef-client (11.12.8) с узлами Windows (Win Server 2012).Opscode CHEF (11.12.8) - chef-клиент не может добавить env. вар. to PATH
Я устанавливаю клиента perforce. Для этого я запускаю в Chef-клиенте CMD для выполнения моей кулинарной книги.
Установка Perforce в PATH соответствует пути к p4.exe. Но в cmd, где я запускаю команду chef-client, PATH не обновляется. Итак, в моей поваренной книге, когда я пытаюсь выполнить команду «p4 sync» в ресурсе windows_batch, она терпит неудачу.
решения я стараюсь,
1/
набор PATH =% PATH%; C: \ Program Files \ неволей
в windows_batch ресурс перед запуском команды p4 синхронизации.
НЕ РАБОТАЕТ.
2/
Поместите предыдущую команду в пакет.
НЕ РАБОТАЕТ.
3/
$ ENV: Path = $ ENV: Путь + "; C: \ Program Files \ неволей"
в powershell_script ресурс перед запуском команды p4 синхронизации.
НЕ РАБОТАЕТ.
Есть ли способ сделать это?
Вместо использования:
C: \ Program Files \ неволей \ p4.exe
БЛАГОДАРЯ
UPDATE_01
код, но я не думаю, что это поможет так много ...
Установите perforceClient
windows_package 'Perforce Client' do
source 'PerforceClient_2014.1\\p4vinst64.exe'
options '/s /v"/qn"'
installer_type :custom
action :install
end
...
windows_batch 'Perforce sync' do
code <<-EOH
p4 sync //APP/
EOH
end
Здесь команда p4 неизвестна из cmd, где я запускаю команду chef-client. Я посмотрю на ресурс партии. Благодаря
Пожалуйста, покажите свой код рецепта и результаты работы шеф-повара. Тем не менее, начиная с 11.6, вместо windows_batch рекомендуется [пакетный ресурс] (http://docs.getchef.com/resource_batch.html). Без журнала выполнения (с '-l debug' для полноты) никто вам не поможет. выполнить (возможно?) использовать атрибут accept и environment, где вы должны дать обновленный env, но без вашего кода я не могу дать реальный ответ. – Tensibai