를 통해 실행 목록에 역할을 추가 자료
name "base"
description "The base role"
run_list "recipe[base]"
override_attributes "nginx" =>
{
'install_method' => 'source',
'source' => {'version' => '1.5.3'}
}
라는 역할을 만듭니다 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의 요리 책에 설정되어 있기 때문에 그보다 정확하게 당신이 무엇을하고 있는지 설명하고 더 높은 attribute precedence을 가지고로
또한, 그것은 set
같은 (normal
의 별칭)를 사용하는 것이 좋습니다.
보세요 [여기] (http://stackoverflow.com/questions/17679898/how-to-update-nginx-via-chef/17710858?noredirect=1#comment25813333_17710858). 귀하의 문제는 그 문제와 관련이있는 것처럼 보입니다. – cassianoleal
당신이 맞습니다. 그것은 그 일과 관련이 있습니다. 나는 조리법의 속성에 의존하지 않고 이것을 해결했다. 대신 역할에 내 속성을 뒤엎었다. – timsabat
Oi. 나는 셰프 솔로 (chef-solo)를 사용하여 잠시 동안이 같은 문제에 직면 해왔다. 이걸 물어 줘서 고마워. –