Puppet exec resursida environment atributi bor. Proksi qiymatlarini yuklab oluvchini chaqiradigan resursga qo'ying:

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'],
}

Misolda Wget va mv shu yo'llarda deb hisoblanadi. Muvaffaqiyatsiz uzatish vaqtinchalik yo'l nomini qoldiradi; yakuniy yo'l nomi faqat Wget muvaffaqiyatli bo'lgandan keyin o'rnatiladi. So'ngra creates qo'riqchisi tugallangan versiyalangan fayl mavjud bo'lguncha keyingi ishga tushirishlarni o'tkazib yuboradi.

Muhit massivi Puppet bu buyruqni ishga tushirganda qiymatlarni beradi. HTTP proksi ro'yxatidagi HTTP yozuvi Wget da sozlangan yoki saqlangan proksi hisob ma'lumotlari bo'lmaganda ruxsat etilgan ommaviy artefakt yuklab olishi uchun proksi URL ini bera oladi. Boshqa exec resursi bajargan eksport faqat o'sha boshqa jarayonda va uning avlodlarida amal qiladi. Ikki resursni tartiblash birinchisining shell muhitini ikkinchisida doimiy qilmaydi.

Bu resursning muhitini resurs bilan birga saqlang. Boshqa Puppet amallari butun mashina bo'ylab Wget ishga tushish faylini o'zgartirmasdan o'zlarining sozlangan yo'llaridan foydalanishi mumkin.

O'xshash maqolalar