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

ଏହି ସାଧାରଣ ରିସୋର୍ସ କିଛି ଡାଉନଲୋଡ୍ କରିବା ପୂର୍ବରୁ ଅସ୍ଥାୟୀ ମୂଲ୍ୟ ଅନ୍ତର୍ହିତ ହୋଇଯାଏ:

  1. Compile: ଶୀର୍ଷ-ସ୍ତରୀୟ Ruby ମୂଲ୍ୟ ସଞ୍ଚୟ କରେ, ଅସ୍ଥାୟୀ ପ୍ରକ୍ସି ସେଟ୍ କରେ, remote_file ଘୋଷଣା କରେ ଏବଂ ମୂଲ୍ୟ ପୁନଃସ୍ଥାପିତ କରେ।
  2. Converge: ରିସୋର୍ସ ସେହି ସମୟରେ ଉପଲବ୍ଧ କନ୍ଫିଗୁରେସନ୍ ସହିତ ନିଜର କାର୍ଯ୍ୟ ସମ୍ପାଦନ କରେ।

ଉପଯୁକ୍ତ ଆଭ୍ୟନ୍ତରୀଣ ବହିଷ୍କାର ସହିତ ଏକ ସ୍ଥିର କ୍ଲାଏଣ୍ଟ ପ୍ରକ୍ସି ଏହି ସମୟ-ସମସ୍ୟା ଏଡ଼ାଏ। shell wildcard ନିୟମ ଅନୁମାନ ନକରି ସ୍ଥାପିତ କ୍ଲାଏଣ୍ଟର ଦଲିଲଭୁକ୍ତ ବହିଷ୍କାର ସିନ୍ଟାକ୍ସ ବ୍ୟବହାର କରନ୍ତୁ। ଅନୁମୋଦିତ ସାର୍ବଜନୀନ ପଥରେ ସ୍ୱାଧୀନ ସାର୍ବଜନୀନ ଆର୍ଟିଫ୍ୟାକ୍ଟ ଡାଉନଲୋଡ୍ ପାଇଁ, Chef କ୍ଲାଏଣ୍ଟରେ କୌଣସି କନ୍ଫିଗର୍ କରାଯାଇଥିବା କିମ୍ବା ସଞ୍ଚିତ ପ୍ରକ୍ସି ଖାତା ନଥିଲେ HTTP ପ୍ରକ୍ସି ତାଲିକାର ଏକ ପ୍ରବେଶ ସ୍ଥିର HTTP ଏଣ୍ଡପଏଣ୍ଟ ଯୋଗାଇପାରେ। ଏହାର ଆଭ୍ୟନ୍ତରୀଣ ବହିଷ୍କାର ରଖନ୍ତୁ; ଠିକଣା ବାଛିବା ଦ୍ୱାରା compile ଏବଂ converge କେବେ ଏହା ବ୍ୟବହାର କରେ ତାହା ବଦଳେ ନାହିଁ।

ଯଦି ଗୋଟିଏ ଅପରେସନ୍ ବିଶେଷ ପଥ ଆବଶ୍ୟକ କରେ, ତେବେ ଏହାର କନ୍ଫିଗୁରେସନ୍ ପରିବର୍ତ୍ତନ ଏବଂ ଏକ୍ଜିକ୍ୟୁସନ୍ ଏକ ସ୍ଥାନରେ ରଖନ୍ତୁ। ଉପଯୁକ୍ତ unified-mode ଆଚରଣ ସହିତ ଏକ କଷ୍ଟମ୍ ରିସୋର୍ସ ଏକ ବିକଳ୍ପ, କିନ୍ତୁ Chef::Config ଗ୍ଲୋବାଲ୍ ରହେ। ଡାଉନଲୋଡ୍ ବିଫଳ ହେଲେ ଏବଂ ଫାଇଲ୍ ପୂର୍ବରୁ ଅଦ୍ୟତନ ହୋଇଥିଲେ ଏହା ପୁନଃସ୍ଥାପିତ କରନ୍ତୁ। ଅଦ୍ୟତନ ସୂଚନା ନିଃସର୍ତ୍ତ ଭାବରେ ଚାଲେ ନାହିଁ, ଏବଂ ଏକ ବ୍ୟତିକ୍ରମ ପରେ ପରବର୍ତ୍ତୀ ସଫାଇ ରିସୋର୍ସ କେବେ ବି ନଚାଲିପାରେ।

lazy source ପ୍ରପର୍ଟି ସେହି ପ୍ରପର୍ଟିର ମୂଲ୍ୟାଙ୍କନ ବିଳମ୍ବିତ କରେ, ଚାରିପାଖର ରୁବି ଆସାଇନମେଣ୍ଟ ନୁହେଁ। ଯେତେବେଳେ ଡାଉନଲୋଡ୍ ସେହି ସମୟର, compile ସମୟରେ ରିସୋର୍ସ ଏକ୍ଜିକ୍ୟୁସନ୍ ଏକ ପୃଥକ ସମର୍ଥିତ ବିକଳ୍ପ; ଏହା ନିର୍ଭରତା ଏବଂ ସୂଚନାର ସମୟ ମଧ୍ୟ ବଦଳାଏ। ଘୋଷଣା କ୍ରମ ବିଚ୍ଛିନ୍ନତା ଦେବ ବୋଲି ଆଶା ନକରି, HTTP କ୍ଲାଏଣ୍ଟ ନିଜର ପ୍ରକ୍ସି ସେଟିଂ କେବେ ବ୍ୟବହାର କରେ ସେହି ଆଧାରରେ ବାଛନ୍ତୁ।

ସମ୍ପର୍କିତ ପ୍ରବନ୍ଧ