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 விதிகளை ஊகிப்பதற்குப் பதிலாக நிறுவப்பட்ட கிளையன்டின் ஆவணப்படுத்தப்பட்ட விலக்கு தொடரியலைப் பயன்படுத்துங்கள். அனுமதிக்கப்பட்ட பொது வழியில் பொது மூலக்கூறைத் தனித்துப் பதிவிறக்க, Chef கிளையன்டிடம் உள்ளமைக்கப்பட்ட அல்லது வைத்திருக்கப்பட்ட ப்ராக்ஸி கணக்கு இல்லாதபோது HTTP ப்ராக்ஸி பட்டியல் பதிவு நிலையான HTTP முனைப்புள்ளியை வழங்க முடியும். அதன் உள் விலக்குகளைத் தக்கவைத்துக் கொள்ளுங்கள்; முகவரியைத் தேர்ந்தெடுப்பது compile மற்றும் converge அதை எப்போது பயன்படுத்துகின்றன என்பதை மாற்றாது.

ஒரு செயல்பாட்டுக்கு சிறப்பு வழி தேவைப்பட்டால், அதன் உள்ளமைவு மாற்றத்தையும் செயலாக்கத்தையும் ஒரே எல்லைக்குள் வையுங்கள். பொருத்தமான unified-mode நடத்தையுள்ள தனிப்பயன் வளம் ஒரு விருப்பம், ஆனால் Chef::Config உலகளாவியதாகவே இருக்கும். பதிவிறக்கம் தோல்வியடையும்போதும் கோப்பு ஏற்கனவே புதுப்பிக்கப்பட்டிருக்கும்போதும் அதை மீட்டெடுங்கள். புதுப்பிப்பு அறிவிப்பு நிபந்தனையின்றி இயங்காது, மேலும் விதிவிலக்குக்குப் பிறகு பிந்தைய தூய்மைப்படுத்தல் வளம் ஒருபோதும் இயங்காமல் போகலாம்.

lazy source பண்பு அந்தப் பண்பின் மதிப்பீட்டைத் தாமதப்படுத்துகிறது, சுற்றியுள்ள Ruby ஒதுக்கீடுகளை அல்ல. பதிவிறக்கம் அந்த நேரத்திற்கே உரியதெனில் compile நேர வளச் செயலாக்கம் தனியாக ஆதரிக்கப்படும் தேர்வு; இது சார்புகள் மற்றும் அறிவிப்புகளின் நேரத்தையும் மாற்றுகிறது. அறிவிப்பு வரிசை தனிமைப்படுத்தலைத் தருமென எதிர்பார்ப்பதற்குப் பதிலாக, HTTP கிளையன் தன் ப்ராக்ஸி அமைப்பை எப்போது பயன்படுத்துகிறது என்பதன் அடிப்படையில் தேர்ந்தெடுங்கள்.

தொடர்புடைய கட்டுரைகள்