Proksaj agordoj de Chef tra la fazoj compile kaj converge
Konsideru la kompiladon de la recepto kaj la plenumadon de la rimedo, kiam vi ŝanĝas tutmondan proksilon por unu ago remote_file.
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] = previousLa provizora valoro jam malaperis antaŭ ol ĉi tiu ordinara rimedo elŝutos ion ajn:
- Compile: la ĉefnivela Ruby konservas la valoron, agordas la provizoran proksilon, deklaras
remote_filekaj restarigas la valoron. - Converge: la rimedo plenumas sian agon per la tiam disponebla agordo.
Stabila klienta proksilo kun taŭgaj internaj esceptoj evitas ĉi tiun tempan problemon. Uzu la dokumentitan esceptan sintakson de la instalita kliento anstataŭ supozi regulojn de ŝelaj ĵokeroj. Por sendependa elŝuto de publika artefakto laŭ permesita publika vojo, ero el listo de HTTP-proksiloj povas provizi la stabilan HTTP-finpunkton, kiam la kliento Chef ne havas agorditan aŭ retenitan proksilan konton. Konservu ĝiajn internajn esceptojn; elekti adreson ne ŝanĝas, kiam compile kaj converge konsumas ĝin.
Se unu operacio bezonas specialan vojon, metu ĝian agordan ŝanĝon kaj plenumadon en la saman amplekson. Propra rimedo kun taŭga konduto unified-mode estas unu eblo, sed Chef::Config restas tutmonda. Restarigu ĝin, kiam la elŝuto malsukcesas kaj kiam la dosiero jam estas ĝisdata. Ĝisdatiga sciigo ne ruliĝas senkondiĉe, kaj posta puriga rimedo eble neniam ruliĝos post escepto.
Propraĵo lazy source prokrastas la taksadon de tiu propraĵo, ne la ĉirkaŭajn Ruby-atribuojn. Plenumado de rimedoj dum compile estas aparta subtenata elekto, kiam tiam apartenas la elŝuto; ĝi ankaŭ ŝanĝas la tempon de dependecoj kaj sciigoj. Elektu laŭ tio, kiam la HTTP-kliento konsumas sian proksilan agordon, anstataŭ atendi, ke la deklara ordo donu izolecon.