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 स्टार्टअप फाइल नबदली आफ्ना कन्फिगर गरिएका मार्गहरू प्रयोग गर्न सक्छन्।

सम्बन्धित लेखहरू