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 සේවාලාභියා තම ප්‍රොක්සි සැකසුම කුමන වේලාවක භාවිත කරන්නේ ද යන්න මත තෝරන්න.

අදාළ ලිපි