Cilësimet e proxy-t të Chef nëpër fazat compile dhe converge
Merrni parasysh kompilimin e recetës dhe ekzekutimin e burimit kur ndryshoni një proxy global për një veprim 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] = previousVlera e përkohshme ka humbur përpara se ky burim i zakonshëm të shkarkojë çdo gjë:
- Compile: Ruby i nivelit të sipërm ruan vlerën, vendos proxy-n e përkohshme, deklaron
remote_filedhe rikthen vlerën. - Converge: burimi kryen veprimin e tij me konfigurimin e disponueshëm në atë moment.
Një proxy klienti e qëndrueshme me përjashtime të brendshme të përshtatshme shmang këtë problem kohor. Përdorni sintaksën e dokumentuar të përjashtimeve të klientit të instaluar në vend që të supozoni rregulla wildcard të shell-it. Për një shkarkim të pavarur të një artefakti publik në një rrugë publike të lejuar, një zë nga lista e proxy-ve HTTP mund të sigurojë pikën fundore HTTP të qëndrueshme kur klienti Chef nuk ka asnjë llogari proxy të konfiguruar ose të mbajtur. Mbajini përjashtimet e brendshme; zgjedhja e një adrese nuk ndryshon kur compile dhe converge e konsumojnë atë.
Nëse një operacion kërkon një rrugë të veçantë, vendosni ndryshimin e konfigurimit dhe ekzekutimin e tij në të njëjtin fushë. Një burim i personalizuar me sjellje të përshtatshme unified-mode është një opsion, por Chef::Config mbetet global. Rikthejeni kur shkarkimi dështon dhe kur skedari është tashmë i përditësuar. Një njoftim përditësimi nuk ekzekutohet pa kushte, dhe një burim pastrimi i mëvonshëm mund të mos ekzekutohet kurrë pas një përjashtimi.
Një veti lazy source shtyn vlerësimin e asaj vetie, jo caktimet Ruby përreth. Ekzekutimi i burimeve në kohën compile është një zgjedhje më vete e mbështetur kur shkarkimi i përket pikërisht atij momenti; ndryshon gjithashtu kohën e varësive dhe njoftimeve. Zgjidhni sipas momentit kur klienti HTTP konsumon cilësimin e tij të proxy-t, në vend që të prisni që rendi i deklarimeve të japë izolim.