Установка переменной chef с внешним вызовом - PullRequest
1 голос
/ 26 января 2012

Я использую рецепт поваренной книги приложения для развертывания файлов войны Java.То, что я хотел бы сделать, это загрузить WAR md5 из внешнего местоположения (в данном случае нашего локального хранилища Nexus).Загрузка значений из внешних расположений с помощью chef (например, запустить некоторый bash, который выведет строку в STDOUT и использовать это значение для переменной chef).

Примерно так:

1 Ответ

1 голос
/ 30 января 2012

Используйте ruby's open-uri.Например, я делаю это в кулинарной книге, которую я использую для установки VirtualBox.На сайте загрузки VirtualBox есть текстовый файл с контрольными суммами (sha256sum).

require 'open-uri'

sha256sum = "" # retrieve the sha256sums from the virtualbox mirror
open("#{node['virtualbox']['urlbase']}/SHA256SUMS").each do |line|
  sha256sum = line.split(" ")[0] if line =~ /#{distfile}/
end

Вы можете просмотреть весь рецепт в источнике на github .Я бы, вероятно, установил это значение в качестве атрибута в рецепте вне рецептов поваренной книги приложения до того, как оно будет в списке выполнения узла.

...