2016-09-28 2 views
3

요리사 요리 책에 Diplomat 보석을 포함하여 .erb 템플릿에서 영사 (Consul) 변수 조회를 수행 할 수 있습니다. URL 경로로 변수를 설정요리사 레시피에 루비 라이브러리를 포함시키고 구성하는 방법은 무엇입니까?

irb(main):015:0> require 'diplomat' 
irb(main):016:0> Diplomat.configure do |config| 
irb(main):017:1* config.url = "consulurl:80" 
irb(main):018:1> end 

:

irb(main):020:0> kv_path = "path/to/variable" 
=> "path/to/variable" 

그리고 마지막으로는, 템플릿 내에서 조회를 수행

나는 영사의 URL을 구성해야합니다.

irb(main):022:0> foo = Diplomat::Kv.get(kv_path + '/test_foo_123') 
=> "bar" 

요리 책에서 위의 구성 코드를 작성해야 .erb 템플릿 내에서 변수 조회를 수행 할 수 있습니까?

답변

1

당신은 chef_gem 자원을 사용하지만 컴파일 단계에서 실행할 수 있는지 확인하려면 :

chef_gem 'diplomat' do 
    action :nothing 
    compile_time false 
end.run_action(:install) 
require 'diplomat' 
0

요리사와 보석을 설치하는 것은 비교적 쉽지 않습니다. 설치

gem_package 'httparty'

당신은 심지어 보석 버전을 지정할 수 있습니다 : 대부분의 시간, 당신은 기본 패키지 리소스에 매우 유사하게 동작하는 gem_package 자원을 사용할 수 있습니다

gem_package 'httparty' do version '0.12.0' end

chef_gem 리소스를 보셨을 수도 있습니다. 차이점이 뭐야?

chef_gem 및 gem_package 리소스는 모두 Ruby 보석을 설치하는 데 사용됩니다. chef-client가 설치된 모든 시스템에는 두 개의 Ruby 인스턴스가 있습니다. 하나는 루비의 표준 시스템 전체 인스턴스이고 다른 하나는 chef-client에서만 사용할 수있는 전용 인스턴스입니다. chef_gem 리소스를 사용하여 chef-client 전용 Ruby 인스턴스 에 보석을 설치하십시오. 다른 모든 젬을 설치하려면 gem_package 리소스를 사용하십시오 (예 : 시스템 전체에 젬 설치).

소스 : https://sethvargo.com/using-gems-with-chef/

+0

당신이 2013 년에서 뭔가 상상으로는, 해당 게시물은 격렬하게 구식이다. 대부분 무시하십시오. – coderanger

관련 문제