2012-03-27 29 views
22

Bên dưới mã của tôi để cài đặt vcider. Tôi đang học đầu bếp nhưng chưa thấy gì để cài đặt một dpkg. Tôi muốn sử dụng phiên bản trong tập lệnh. Mã bên dưới hoạt động.Cách thành ngữ để cài đặt gói Debian bằng Chef là gì?

script "install_vcider" do 
    interpreter "bash" 
    user "root" 
    cwd "/tmp" 
    code <<-EOH 
    wget https://my.vcider.com/m/downloads/vcider_2.0.1b_amd64.deb 
    dpkg -i vcider__amd64.deb 
    EOH 
end 

Ngay cả với mã ở trên, tôi có thể thay thế 2.0.1b bằng # {version} không? tập tin thuộc tính -> mặc định [: vcider] [: version] 2.0.1b

recipe file - > version = node[:vcider][:version] 

Trả lời

41

The Right Thing là sử dụng được xây dựng trong các loại tài nguyên. Giả sử bạn đã thiết lập các versionarch biến một cách thích hợp:

remote_file "/tmp/vcider_#{version}_#{arch}.deb" do 
    source "https://my.vcider.com/m/downloads/vcider_#{version}_#{arch}.deb" 
    mode 0644 
    checksum "" # PUT THE SHA256 CHECKSUM HERE 
end 

dpkg_package "vcider" do 
    source "/tmp/vcider_#{version}_#{arch}.deb" 
    action :install 
end 
+0

Cảm ơn :) Cũng .... là chính xác sau khi tôi cài đặt? dịch vụ "vcider-nmd" làm hỗ trợ: status => true,: restart => true,: reload => true action [: enable,: start] kết thúc – Tampa

+0

@Tampa có vẻ hợp lý. Tôi thực sự có bất hạnh khi được ở một cửa hàng Múa rối ngay bây giờ, tuy nhiên, vì vậy đầu bếp của tôi ngày càng trở nên gỉ. –

+0

Oh .... Tôi đã phải loại bỏ yêu cầu để làm cho nó hoạt động. – Tampa

Các vấn đề liên quan