د Puppet exec سرچینه environment ځانګړنه لري. د پروکسي ارزښتونه هغې سرچینې ته کېږدئ چې ډاونلوډر بولي:

file { '/var/cache/myapp':
  ensure => directory,
}

exec { 'fetch-artifact':
  provider    => shell,
  command     => '/usr/bin/wget --tries=1 --timeout=20 -O /var/cache/myapp/artifact.part https://downloads.example.net/artifact-v1.bin && /usr/bin/mv /var/cache/myapp/artifact.part /var/cache/myapp/artifact-v1.bin',
  environment => [
    'http_proxy=http://proxy.example.net:8080',
    'https_proxy=http://proxy.example.net:8080',
  ],
  creates     => '/var/cache/myapp/artifact-v1.bin',
  require     => File['/var/cache/myapp'],
}

بېلګه فرض کوي چې Wget او mv په هماغو لارو کې دي. ناکامه لېږد یې لنډمهاله لارپته پاتې کوي؛ وروستۍ لارپته یوازې وروسته له هغې نصبېږي چې Wget بریالی شي. بیا creates ساتونکی وروستي اجراګانې پرېږدي څو چې بشپړه نسخه لرونکې فایل شته وي.

چاپېریال لړ د Puppet لخوا دې فرمان د چلولو پر مهال ارزښتونه برابروي. د HTTP پروکسي لړلیک HTTP ننوتنه کولای شي د پروکسي URL د اجازه لرونکي عامه آرټیفکټ ډاونلوډ لپاره برابره کړي کله چې Wget تنظیم شوي یا ساتل شوي پروکسي اعتبارونه نه لري. هغه صادرات چې بله exec سرچینه یې کوي یوازې په هماغه بله پروسه او د هغې زوزاتو کې اعتبار لري. د دوو سرچینو ترتیب لومړي سرچینې shell چاپېریال په دویمه کې پایښت ورکوي نه.

د دې سرچینې چاپېریال له سرچینې سره وساتئ. نور Puppet عملیات کولای شي خپل تنظیم شوي لارې وکاروي پرته له دې چې د ماشین بشپړ Wget پیل فایل بدل کړي.

اړوندې مقالې