የ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 ሪሰርስ የሚደረግ ወደ ውጭ ማውጣት በዚያ ሌላ ሂደትና በልጆቹ ውስጥ ብቻ ነው። ሁለት ሪሰርሶችን ማዘዝ የመጀመሪያውን የሼል አካባቢ ወደ ሁለተኛው እንዲቀጥል አያደርግም።

የዚህን ሪሰርስ አካባቢ ከሪሰርሱ ጋር ያቆዩ። ሌሎች የPuppet ሥራዎች የራሳቸውን የተዋቀሩ መንገዶች መጠቀም ይችላሉ የማሽኑን አጠቃላይ የWget መነሻ ፋይል ሳይቀይሩ።

ተዛማጅ ጽሑፎች