Добавьте поставщика пакета к Марионетке в Бродяге

Я использую Марионетку для настройки поля Vagrant и хотел бы быть стороннего поставщика пакета (https://github.com/torrancew/puppet-cpanm)

README.md, в котором repo показывает, как использовать поставщика в рамках декларации, но это принимает (я верю), марионеточное ведущее устройство, которое имеет, или знает, этот поставщик. С моей Бродячей установкой у меня на самом деле нет марионеточного ведущего устройства (или Бродяга действует как один?), таким образом, я не уверен, как на самом деле использовать класс поставщика пакета (https://github.com/torrancew/puppet-cpanm/blob/master/lib/puppet/provider/package/cpanm.rb)

Что я должен сделать, или в моем Vagrantfile, моей Марионеточной декларации (декларациях), или в другом месте в конфигурации гостя/хост-системы, чтобы позволить мне использовать этого поставщика пакета?

1
задан 9 September 2015 в 21:51
1 ответ

tl; dr:

  1. Убедитесь, что модуль поставщика марионеток установлен и на пути к модулю.
  2. Убедитесь, что также установлен базовый инструмент стороннего производителя. Это может быть выполнено самим модулем, добавив include cpanm в ваш манифест (ы).

Подробности

У вас должен быть установлен модуль провайдера и в путь к модулю для Puppet, чтобы увидеть это.

Использование провайдера всегда проходит через проверку пригодности , которую вы можете увидеть в командах / ограничениях провайдера:

confine  :exists => ['/usr/bin/cpanm', '/usr/bin/perldoc']
commands :cpanm  => '/usr/bin/cpanm'

Пригодность означает, что поставщик заявляет, что перечисленные выше элементы должны существовать для того, чтобы поставщик был активен. Когда вы запускаете Puppet с помощью - debug --verbose , появляется сообщение, сообщающее вам, когда поставщик не подходит, которое отображается в Vagrantfile следующим образом:

config.vm.provision :puppet, :options => ["--debug --trace --verbose"] do |puppet|
  #other settings here
end

] Рабочий пример

Полный рабочий пример использования стороннего поставщика пакетов (Chocolatey) см. В

Однако теперь, когда провайдер Chocolatey может самостоятельно выполнить установку, становится так же просто, как убедиться, что провайдер установлен, а затем добавить в манифест следующее:

include chocolatey

Вернуть его обратно в полный цикл,похоже, что cpanm также может самостоятельно установить :

include cpanm
1
ответ дан 4 December 2019 в 00:00

Теги

Похожие вопросы