previous = Chef::Config[:http_proxy]
Chef::Config[:http_proxy] = 'http://proxy.example.net:8080'

remote_file '/var/tmp/package.zip' do
  source 'https://downloads.example.net/package.zip'
end

Chef::Config[:http_proxy] = previous

ຄ່າຊົ່ວຄາວໄດ້ຫາຍໄປແລ້ວ ກ່ອນທີ່ resource ທຳມະດານີ້ຈະດາວໂຫຼດຫຍັງ:

  1. Compile: Ruby ລະດັບເທິງບັນທຶກຄ່າ, ຕັ້ງ proxy ຊົ່ວຄາວ, ປະກາດ remote_file ແລະ ຄືນຄ່າເດີມ.
  2. Converge: resource ປະຕິບັດການກະທຳຂອງຕົນດ້ວຍການຕັ້ງຄ່າທີ່ມີຢູ່ໃນເວລານັ້ນ.

proxy ຂອງ client ທີ່ໝັ້ນຄົງ ພ້ອມການຍົກເວັ້ນພາຍໃນທີ່ເໝາະສົມ ຫຼີກລ່ຽງບັນຫາເວລານີ້. ໃຊ້ໄວຍາກອນຍົກເວັ້ນທີ່ເອກະສານຂອງ client ທີ່ຕິດຕັ້ງໄວ້ ແທນການສົມມຸດກົດ wildcard ຂອງ shell. ສຳລັບການດາວໂຫຼດ artefact ສາທາລະນະແບບເອກະລາດໃນເສັ້ນທາງສາທາລະນະທີ່ອະນຸຍາດ, ລາຍການຈາກບັນຊີ proxy HTTPສາມາດໃຫ້ endpoint HTTP ທີ່ໝັ້ນຄົງ ເມື່ອ client Chef ບໍ່ມີບັນຊີ proxy ທີ່ຕັ້ງຄ່າ ຫຼື ເກັບໄວ້. ຮັກສາການຍົກເວັ້ນພາຍໃນຂອງມັນໄວ້; ການເລືອກທີ່ຢູ່ບໍ່ປ່ຽນເວລາທີ່ compile ແລະ converge ໃຊ້ມັນ.

ຖ້າການດຳເນີນການໜຶ່ງຕ້ອງການເສັ້ນທາງພິເສດ, ໃຫ້ເອົາການປ່ຽນການຕັ້ງຄ່າ ແລະ ການປະຕິບັດໄວ້ໃນຂອບເຂດດຽວກັນ. resource ກຳນົດເອງທີ່ມີພຶດຕິກຳ unified-mode ເໝາະສົມແມ່ນທາງເລືອກໜຶ່ງ, ແຕ່ Chef::Config ຍັງເປັນທົ່ວໄປ. ຄືນຄ່າເມື່ອການດາວໂຫຼດລົ້ມເຫຼວ ແລະ ເມື່ອໄຟລ໌ອັບເດດແລ້ວ. ການແຈ້ງເຕືອນອັບເດດບໍ່ແລ່ນຢ່າງບໍ່ມີເງື່ອນໄຂ, ແລະ resource ທຳຄວາມສະອາດພາຍຫຼັງອາດຈະບໍ່ແລ່ນເລີຍຫຼັງຈາກມີຂໍ້ຍົກເວັ້ນ.

ຄຸນສົມບັດ lazy source ເລື່ອນການປະເມີນຄຸນສົມບັດນັ້ນ, ບໍ່ແມ່ນການກຳນົດຄ່າ Ruby ອ້ອມຂ້າງ. ການປະຕິບັດ resource ໃນເວລາ compile ແມ່ນທາງເລືອກທີ່ຮອງຮັບແຍກຕ່າງຫາກ ເມື່ອການດາວໂຫຼດເໝາະກັບເວລານັ້ນ; ມັນຍັງປ່ຽນເວລາຂອງການຂຶ້ນກັບ ແລະ ການແຈ້ງເຕືອນ. ເລືອກຕາມເວລາທີ່ client HTTP ໃຊ້ການຕັ້ງຄ່າ proxy ຂອງມັນ, ບໍ່ແມ່ນຄາດຫວັງໃຫ້ລຳດັບການປະກາດໃຫ້ຄວາມແຍກຕົວ.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ