簡體   English   中英

添加到廚師寶石來源嗎?

[英]Adding to the Chef Gem Source?

我的組織完全在防火牆內工作(即,沒有機器可以訪問Internet)。 每當廚師食譜更新且需要寶石時,由於食譜無法從rubygems.org下載和安裝寶石而使食譜失敗。

我們自行托管所需寶石的副本-我們如何為廚師添加自定義內部資源,這樣就不必處理失敗了?

您可以使用Chef Client管理嵌入式Ruby的gemrc。

chef_etc_dir = Chef::Util::PathHelper.join(Chef::Config.embedded_dir, 'etc')
chef_gemrc   = Chef::Util::PathHelper.join(chef_etc_dir, 'gemrc')

directory chef_etc_dir do
  owner "root"
  group "root"
  mode "0755"
end.run_action(:create)

file chef_gemrc do
  owner "root"
  group "root"
  mode "0644"
  content <<EOF
---
:sources:
- https://path.to.internal.repo/
- https://rubygems.org
:update_sources: true
EOF
  end.run_action(:create)

PathHelper方法應為Windows或Linux提供適當的路徑。

“ .run_action(:create)”添加項在編譯時(而不是在收斂時)執行資源,以確保后續的chef_gem資源將在收斂時訪問新管理的gemrc。

更新:廚師似乎建議使用rubygems食譜來執行此功能。

gemrc :global do
  values(
    sources: %w{ https://path.to.internal.repo https://rubygems.org }
  )
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM