previous = Chef::Config[:http_proxy]
Chef::Config[:http_proxy] = 'http://proxy.example.net:8080'

remote_file '/var/tmp/package.zip' do
  source 'https://downloads.example.net/package.zip'
end

Chef::Config[:http_proxy] = previous

Привремена вредност нестаје пре него што овај обични ресурс ишта преузме:

  1. Compile: Ruby на највишем нивоу чува вредност, поставља привремени прокси, декларише remote_file и враћа вредност.
  2. Converge: ресурс извршава своју радњу користећи конфигурацију доступну тада.

Стабилан клијентски прокси са одговарајућим интерним изузецима избегава овај проблем са временом. Користите документовану синтаксу изузетака инсталираног клијента уместо да претпостављате правила shell wildcard-а. За независно преузимање јавног артефакта на дозвољеној јавној рути, унос са листе HTTP проксија може обезбедити стабилну HTTP завршну тачку када Chef клијент нема конфигурисан ни задржан прокси налог. Задржите његове интерне изузетке; избор адресе не мења када га compile и converge троше.

Ако једна операција захтева посебну руту, ставите промену конфигурације и извршавање у исти обим. Прилагођени ресурс са одговарајућим понашањем unified-mode једна је опција, али Chef::Config остаје глобалан. Вратите га када преузимање не успе и када је датотека већ ажурна. Обавештење о ажурирању се не покреће безусловно, а каснији ресурс за чишћење можда се никада неће покренути након изузетка.

Својство lazy source одлаже процену тог својства, не околне Ruby доделе. Извршавање ресурса у време compile је одвојен подржан избор када преузимање тада и припада; оно такође мења време зависности и обавештења. Бирајте према томе када HTTP клијент троши своје прокси подешавање, уместо да очекујете да ће редослед декларација пружити изолацију.

Повезани чланци