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

دا عادي سرچینه تر هغې چې څه ډاونلوډ کړي، لنډمهاله ارزښت له منځه تللی وي:

  1. Compile: د لوړې کچې Ruby ارزښت خوندي کوي، لنډمهاله پروکسي ټاکي، remote_file اعلانوي او ارزښت بیرته راولي.
  2. Converge: سرچینه خپله کړنه د هغه وخت په موجوده ترتیباتو سره ترسره کوي.

د مناسبو داخلي استثناوو سره ثابته کلاېنټ پروکسي دې وختي ستونزې ته مخه نیسي. د shell wildcard قواعدو د فرض کولو پر ځای د نصب شوي کلاېنټ مستند شوی استثنا سینټکس وکاروئ. په اجازه ورکړل شوي عامه لار کې د عامه artefact خپلواک ډاونلوډ لپاره، کله چې Chef کلاېنټ تنظیم شوی یا ساتل شوی پروکسي حساب نه لري، د HTTP پروکسي لیست یوه ننوتنه کولای شي ثابته HTTP پای ټکی برابره کړي. د هغې داخلي استثناوې وساتئ؛ د پتې غوره کول نه بدلوي چې compile او converge یې کله کاروي.

که یو عملیات ځانګړې لار وغواړي، د هغې د ترتیباتو بدلون او اجرا په یوه حد کې کېږدئ. د مناسبي unified-mode چلند سره ځانګړې سرچینه یو انتخاب دی، خو Chef::Config نړیوال پاتې کېږي. کله چې ډاونلوډ ناکام شي او کله چې فایل دمخه تازه وي، هغه بیرته راوګرځوئ. د تازه کولو خبرتیا بې شرطه نه ځي، او وروسته پاکولو سرچینه ممکن له یوې استثنا وروسته هیڅکله ونه ځي.

lazy source ځانګړنه د هغې ځانګړنې ارزونه ځنډوي، نه د شاوخوا Ruby ټاکل. د compile په وخت کې د سرچینو اجرا یو جلا ملاتړ شوی انتخاب دی کله چې ډاونلوډ هماغه وخت ته اړه ولري؛ دا د انحصار او خبرتیاوو وخت هم بدلوي. د اعلان ترتیب به جلا کول ورکړي د دې تمې پر ځای، د دې پر بنسټ انتخاب وکړئ چې HTTP کلاېنټ خپل پروکسي تنظیم کله کاروي.

اړوندې مقالې