요리 책 간의 공유 파일 / 템플릿


11

우리는 동일한 파일과 템플릿을 참조하는 여러 요리 책을 가지고 있으며, 모두 오래된 파일이 아닌지 확인하기 위해 모든 파일이 동일한 파일인지 확인하는 합리적인 방법이 있는지 궁금합니다. 여러 레시피 / 요리 책에서 참조하는 단일 파일 / 템플릿을 가질 수 있습니까? 심볼릭 링크 사용에 대해 생각했지만 Git이 지원하지 않으므로 이것이 작동하지 않습니다.

답변:


17

cookbook_file 및 템플리트 자원은 소스 파일을 포함하는 요리 책을 지정하는 "cookbook"매개 변수를 지원합니다. 그런 다음 해당 파일이 단일 엔티티로 존재하는 "공통"요리 책을 작성할 수 있습니다. 예를 들면 다음과 같습니다.

% cookbooks/commons
cookbooks/commons
|-- files
|   `-- default
|       `-- master.conf
`-- templates
    `-- default
        `-- general.conf.erb

하나의 요리 책, thing1과 thing2가 있고 둘 다 사용한다고 가정합니다. 레시피는 다음과 같습니다.

# thing1/recipes/default.rb
cookbook_file "/etc/thing1/master.conf" do
  source "master.conf"
  cookbook "commons"
end

template "/etc/thing1/general.conf" do
  source "general.conf.erb"
  cookbook "commons"
end

# thing2/recipes/default.rb
cookbook_file "/etc/thing2/like_master_but_different.conf" do
  source "master.conf"
  cookbook "commons"
end

template "/etc/thing2/not_as_general_as_you_think.conf" do
  source "general.conf.erb"
  cookbook "commons"
end

그러나 요리 책에 다른 종류의 기능이 중복되는 이유는 무엇입니까? 즉, 이런 종류의 것이 사용하는 사용자 정의 경량 리소스 / 제공자에게 적합합니까?


1
다른 솔루션뿐만 아니라 예제에 감사드립니다. 이것은 완벽 해요!
gdurham
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.