Chef proxy parametrləri compile və converge mərhələlərində
Bir remote_file əməliyyatı üçün qlobal proxy dəyişərkən reseptin kompilyasiyasını və resurs icrasını nəzərə alın.
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] = previousMüvəqqəti dəyər bu adi resurs hər hansı bir şeyi yükləməzdən əvvəl artıq yox olur:
- Compile: yuxarı səviyyəli Ruby dəyəri saxlayır, müvəqqəti proxy qurur,
remote_fileelan edir və dəyəri bərpa edir. - Converge: resurs öz əməliyyatını o anda mövcud olan konfiqurasiya ilə yerinə yetirir.
Uyğun daxili istisnaları olan sabit müştəri proxy bu vaxt probleminin qarşısını alır. Shell wildcard qaydalarını fərz etmək əvəzinə quraşdırılmış müştərinin sənədləşdirilmiş istisna sintaksisindən istifadə edin. İcazə verilmiş ictimai marşrutda müstəqil ictimai artefakt yükləməsi üçün, Chef müştərisinin konfiqurasiya edilmiş və ya saxlanmış proxy hesabı olmadıqda HTTP proxy siyahısı qeydi sabit HTTP son nöqtəsini təmin edə bilər. Onun daxili istisnalarını saxlayın; ünvan seçmək compile və converge-in onu nə vaxt istifadə etdiyini dəyişmir.
Bir əməliyyat xüsusi marşrut tələb edirsə, onun konfiqurasiya dəyişikliyini və icrasını eyni əhatə dairəsinə qoyun. Uyğun unified-mode davranışı olan fərdi resurs bir seçimdir, lakin Chef::Config qlobal olaraq qalır. Yükləmə uğursuz olduqda və fayl artıq aktual olduqda onu bərpa edin. Yeniləmə bildirişi şərtsiz işləmir və sonrakı təmizləmə resursu istisnadan sonra heç vaxt işləməyə bilər.
Lazy source xassəsi həmin xassənin qiymətləndirilməsini gecikdirir, ətrafdakı Ruby təyinatlarını deyil. Yükləmə məhz o vaxta aid olduqda compile vaxtı resurs icrası ayrıca dəstəklənən seçimdir; o, həmçinin asılılıq və bildiriş vaxtını dəyişir. Elan sırasının təcrid təmin edəcəyini gözləmək əvəzinə, HTTP müştərisinin proxy parametrini nə vaxt istifadə etdiyinə görə seçin.