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 ережелерін болжаудың орнына орнатылған клиенттің құжатталған ерекшелік синтаксисін қолданыңыз. Рұқсат етілген жария маршрутта жария артефактіні тәуелсіз жүктеу үшін, Chef клиентінде конфигурацияланған немесе сақталған прокси тіркелгісі болмаған кезде HTTP проксилер тізімінің жазбасы тұрақты HTTP соңғы нүктесін бере алады. Оның ішкі ерекшеліктерін сақтаңыз; мекенжайды таңдау compile мен converge оны қашан тұтынатынын өзгертпейді.

Егер бір операцияға арнайы маршрут қажет болса, оның конфигурация өзгерісін және орындалуын бір ауқымға қойыңыз. Тиісті unified-mode мінез-құлқы бар теңшелген ресурс — бір нұсқа, бірақ Chef::Config жаһандық күйінде қалады. Жүктеу сәтсіз аяқталғанда және файл әлдеқашан өзекті болғанда оны қалпына келтіріңіз. Жаңарту хабарламасы сөзсіз іске қосылмайды, ал кейінгі тазалау ресурсы ерекшеліктен кейін ешқашан іске қосылмауы мүмкін.

lazy source қасиеті сол қасиеттің бағалануын кейінге қалдырады, айналадағы Ruby тағайындауларын емес. Жүктеу дәл сол уақытқа жататын болса, compile кезіндегі ресурс орындалуы жеке қолдау көрсетілген таңдау; ол тәуелділіктер мен хабарламалардың уақытын да өзгертеді. Жариялау реті оқшаулау береді деп күтудің орнына, HTTP клиенті прокси параметрін қашан тұтынатынына қарай таңдаңыз.

Қатысты мақалалар