Chef-proxy-instellings oor die compile- en converge-fases
Hou rekening met resep-samestelling en hulpbron-uitvoering wanneer jy 'n globale proxy vir een remote_file-aksie verander.
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] = previousDie tydelike waarde is weg voordat hierdie gewone hulpbron iets aflaai:
- Compile: topvlak-Ruby stoor die waarde, stel die tydelike proxy in, verklaar
remote_fileen herstel die waarde. - 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.