Вам необходимо переопределить дополнительные переменные: prefix
, url
, sbin_path
и default_configure_flags
:
set['nginx']['version'] = "1.5.3"
set['nginx']['source']['version'] = "1.5.3"
# The Chef checksum of a binary is determined by: shasum -a 256 FILE_NAME
set['nginx']['source']['checksum'] = "edcdf2030750b4eb1ba8cd79365c16a3e33e6136b7fdd8a1a7b4082397f4e92b"
set['nginx']['source']['prefix'] = "/opt/nginx-#{node['nginx']['source']['version']}"
set['nginx']['source']['url'] = "http://nginx.org/download/nginx-#{node['nginx']['source']['version']}.tar.gz"
set['nginx']['source']['sbin_path'] = "#{node['nginx']['source']['prefix']}/sbin/nginx"
set['nginx']['source']['default_configure_flags'] = [
"--prefix=#{node['nginx']['source']['prefix']}",
"--conf-path=#{node['nginx']['dir']}/nginx.conf",
"--sbin-path=#{node['nginx']['source']['sbin_path']}"
]
Это связано с тем, что эти переменные встраивают другие переменные, и они устанавливаются с использованием значений, которые еще не были переопределены вашими значениями.
Указав эти дополнительные переменные в вашей кулинарной книге оболочки, вы гарантируете, что они используют все обновленные значения, которые вы ожидаете.
Кроме того, поскольку значения default
уже установлены в кулинарной книге nginx, лучше использовать что-то вроде set
(псевдоним для normal
), так как это более точно описывает то, что вы делаете, и имеет более высокий приоритет атрибута.
person
justsee
schedule
19.08.2013