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 အချက်တစ်ခုသည် Wget တွင် သတ်မှတ်ထားသော သို့မဟုတ် သိမ်းဆည်းထားသော ပရောက်စီအထောက်အထား မရှိသောအခါ ခွင့်ပြုထားသော အများသူငှာ ပစ္စည်းဒေါင်းလုဒ်အတွက် ပရောက်စီ URL ကို ပေးနိုင်သည်။ အခြား exec အရင်းအမြစ်က ပြုလုပ်သော ထုတ်ယူမှုသည် ထို အခြားလုပ်ငန်းစဉ်နှင့် ၎င်း၏ အဆက်အနွယ်များတွင်သာ သက်ရောက်သည်။ အရင်းအမြစ်နှစ်ခုကို အစဉ်လိုက် စီစဉ်ခြင်းသည် ပထမ၏ shell ပတ်ဝန်းကျင်ကို ဒုတိယတွင် တည်မြဲစေမည် မဟုတ်ပါ။

ဤအရင်းအမြစ်၏ ပတ်ဝန်းကျင်ကို အရင်းအမြစ်နှင့်အတူ ထားပါ။ အခြား Puppet လုပ်ငန်းများသည် စက်တစ်ခုလုံး၏ Wget စတင်ဖိုင်ကို မပြောင်းဘဲ သူတို့၏ သတ်မှတ်ထားသော လမ်းကြောင်းများကို အသုံးပြုနိုင်သည်။

ဆက်စပ်ဆောင်းပါးများ