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 эхлэлийн файлыг өөрчлөхгүйгээр өөрийн тохируулсан маршрутуудыг ашиглаж болно.

Холбоотой нийтлэлүүд