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

Tímabundna gildið er horfið áður en þetta venjulega tilfang sækir nokkuð:

  1. Compile: Ruby á efsta stigi vistar gildið, stillir tímabundna proxyið, skilgreinir remote_file og endurheimtir gildið.
  2. Converge: tilfangið framkvæmir aðgerð sína með þeirri stillingu sem er tiltæk þá.

Stöðugt biðlara-proxy með viðeigandi innri undantekningum kemur í veg fyrir þetta tímasetningarvandamál. Notaðu skjalfesta undantekningarsetningu uppsetta biðlarans í stað þess að gera ráð fyrir shell-wildcard-reglum. Fyrir sjálfstæða niðurhleðslu opinbers artefakts á leyfðri opinberri leið getur færsla úr HTTP-proxylista veitt stöðugu HTTP-endapunktina þegar Chef-biðlarinn hefur hvorki stilltan né varðveittan proxyreikning. Haltu innri undantekningum þess; val á vistfangi breytir ekki hvenær compile og converge neyta þess.

Ef ein aðgerð þarf sérstaka leið, settu stillingarbreytingu hennar og framkvæmd í sama svið. Sérsniðið tilfang með viðeigandi unified-mode hegðun er einn valkostur, en Chef::Config er áfram alþjóðlegt. Endurheimtu það þegar niðurhleðslan mistekst og þegar skráin er þegar uppfærð. Uppfærsutilkynning keyrir ekki skilyrðislaust, og síðara hreinsitilfang keyrir kannski aldrei eftir undantekningu.

Lazy source-eiginleiki seinkar mati á þeim eiginleika, ekki Ruby-úthlutununum í kring. Keyrsla tilfanga á compile-tíma er sérstakur studdur valkostur þegar niðurhleðslan á heima þá; hún breytir einnig tímasetningu háða og tilkynninga. Veldu eftir því hvenær HTTP-biðlarinn neytir proxy-stillingar sinnar, í stað þess að ætla að skilgreiningarröðin veiti einangrun.

Tengdir greinar