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 ਵਿਸ਼ੇਸ਼ਤਾ ਉਸ ਵਿਸ਼ੇਸ਼ਤਾ ਦੇ ਮੁਲਾਂਕਣ ਨੂੰ ਮੁਲਤਵੀ ਕਰਦੀ ਹੈ, ਆਲੇ-ਦੁਆਲੇ ਦੇ Ruby ਅਸਾਈਨਮੈਂਟ ਨਹੀਂ। ਜਦੋਂ ਡਾਊਨਲੋਡ ਉਸੇ ਸਮੇਂ ਦਾ ਹੋਵੇ, compile-ਸਮੇਂ ਸਰੋਤ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਇੱਕ ਵੱਖਰਾ ਸਮਰਥਿਤ ਵਿਕਲਪ ਹੈ; ਇਹ ਨਿਰਭਰਤਾ ਅਤੇ ਸੂਚਨਾ ਦਾ ਸਮਾਂ ਵੀ ਬਦਲਦਾ ਹੈ। ਘੋਸ਼ਣਾ ਕ੍ਰਮ ਅਲੱਗ-ਥਲੱਗਤਾ ਦੇਵੇਗਾ ਇਹ ਉਮੀਦ ਰੱਖਣ ਦੀ ਬਜਾਏ, HTTP ਕਲਾਇੰਟ ਆਪਣੀ ਪ੍ਰੌਕਸੀ ਸੈਟਿੰਗ ਕਦੋਂ ਵਰਤਦਾ ਹੈ ਦੇ ਆਧਾਰ ’ਤੇ ਚੁਣੋ।

ਸੰਬੰਧਿਤ ਲੇਖ