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

Die tydelike waarde is weg voordat hierdie gewone hulpbron iets aflaai:

  1. Compile: topvlak-Ruby stoor die waarde, stel die tydelike proxy in, verklaar remote_file en herstel die waarde.
  2. Converge: die hulpbron voer sy aksie uit met die konfigurasie wat dan beskikbaar is.

'n stabiele klient-proxy met gepaste interne uitsluitings vermy hierdie tydsberekeningprobleem. Gebruik die geïnstalleerde kliënt se gedokumenteerde uitsluitingsintaksis eerder as om skulp-wildcardreëls te aanvaar. Vir 'n onafhanklike aflaai van 'n openbare artefak op 'n toegelate openbare roete kan 'n inskrywing uit 'n HTTP-proxylys die stabiele HTTP-eindpunt verskaf wanneer die Chef-kliënt geen gekonfigureerde of behoue proxyrekening het nie. Hou sy interne uitsluitings; die keuse van 'n adres verander nie wanneer compile en converge dit gebruik nie.

As een bewerking 'n spesiale roete nodig het, plaas sy konfigurasiewysiging en uitvoering in dieselfde omvang. 'n Pasgemaakte hulpbron met toepaslike unified-mode-gedrag is een opsie, maar Chef::Config bly globaal. Herstel dit wanneer die aflaai misluk en wanneer die lêer reeds bygewerk is. 'n Opdateringskennisgewing loop nie onvoorwaardelik nie, en 'n latere skoonmaakhulpbron loop dalk nooit ná 'n uitsondering nie.

'n Lui bron-eienskap vertraag die evaluering van daardie eienskap, nie die omliggende Ruby-toekennings nie. Uitvoering van hulpbronne tydens compile is 'n aparte ondersteunde keuse wanneer dit is wanneer die aflaai hoort; dit verander ook afhanklikheid- en kennisgewingstydsberekening. Kies volgens wanneer die HTTP-kliënt sy proxy-instelling gebruik, eerder as om te verwag dat verklaringsorde isolasie bied.

Verwante artikels