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 ଆରମ୍ଭ ଫାଇଲ ନ ବଦଳାଇ ନିଜର ବିନ୍ୟାସିତ ମାର୍ଗ ବ୍ୟବହାର କରିପାରିବେ।

ସମ୍ପର୍କିତ ପ୍ରବନ୍ଧ