요리사 레포에서 몇 가지 조리법을 공유하고 싶습니다. 나는 요리 책 수준에서 라이브러리 디렉토리의 모듈에 코드를 넣을 수 있다는 것을 알고있다 (related question 참조). 내가 찾고있는 것은 그와 비슷하지만 요리사 레포의 모든 요리 책에서 사용할 수 있습니다.요리사 - 요리사의 요리 책에서 코드를 공유하려면 어떻게해야합니까?
나는 몇 가지 솔루션을 생각할 수 있습니다 :
- 은, 보석 만들기 요리사 실행의 일환으로 보석을 설치합니다. 이것은 잔인한 것 같습니다.
- 파일을 폴더에 넣고 해당 폴더를 래서 피 파일의
$LOAD_PATH
에 추가하십시오. 나는 셰프 서버가 레포에 대해 아무 것도 모르기 때문에 실제 배치에서 작동하지 않을 것이라고 생각합니다. - 파일을 폴더에 넣고 각 요리 책의 라이브러리 디렉토리로 심볼릭 링크하십시오.
마지막 옵션은 가장 실용적인 것처럼 보입니다. 내가 원하는 것을 더 잘/더 관용적으로 할 수있는 방법이 있습니까?
"방법"은 순수한 루비 코드를 말하는가 아니면 요리사의 DSL을 사용하여 조리법에 넣을 수있는 코드인가? 순수한 Ruby라면 보석을 사용하는 것이 가장 좋은 방법 일 수 있습니다. 단 몇 줄의 코드 만있는 경우가 아니면 지나치게 과장된 것으로 볼 수 없습니다. 요리사 코드 인 경우 LWRP가 포함 된 라이브러리 요리 책을 만들고이를 최상위 애플리케이션 요리 책에 포함 시키십시오. 이 두 번째 방법은 순수한 Ruby 라이브러리에서 작동하지만 확실하지는 못했습니다. – cassianoleal
주로 순수 루비 코드입니다. 어쩌면 십여 가지 유틸리티 방법 일 수도 있습니다. Chef의 의존성 관리에 익숙하지는 않지만 라이브러리 폴더에 공유 코드가있는 요리 책을 만드는 것이 효과가 있는지 궁금합니다. – dantswain
방금 시도했지만 효과가없는 것으로 보입니다. 나는 아직도 보석 경로가 최고라고 생각한다. :) – cassianoleal