Gosodiadau dirprwy Chef ar draws y cyfnodau compile a converge
Cyfrifwch am lunio rysáit a gweithredu adnodd wrth newid dirprwy byd-eang ar gyfer un weithred remote_file.
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] = previousMae’r gwerth dros dro wedi mynd cyn i’r adnodd cyffredin hwn lawrlwytho unrhyw beth:
- Compile: mae Ruby ar y lefel uchaf yn cadw’r gwerth, yn gosod y dirprwy dros dro, yn datgan
remote_fileac yn adfer y gwerth. - Converge: mae’r adnodd yn cyflawni ei weithred gan ddefnyddio’r ffurfweddiad sydd ar gael bryd hynny.
Mae dirprwy cleient sefydlog ag eithriadau mewnol addas yn osgoi’r broblem amseru hon. Defnyddiwch gystrawen eithrio dogfennedig y cleient sydd wedi’i osod yn lle tybio rheolau wildcard y shell. Ar gyfer lawrlwytho arteffact cyhoeddus annibynnol ar lwybr cyhoeddus a ganiateir, gall cofnod o restr dirprwyon HTTP ddarparu’r pwynt terfyn HTTP sefydlog pan nad oes gan gleient Chef gyfrif dirprwy wedi’i ffurfweddu na’i gadw. Cadwch ei eithriadau mewnol; nid yw dewis cyfeiriad yn newid pryd y mae compile a converge yn ei ddefnyddio.
Os oes angen llwybr arbennig ar un gweithrediad, rhowch ei newid ffurfweddiad a’i weithrediad yn yr un cwmpas. Mae adnodd arferol ag ymddygiad unified-mode priodol yn un opsiwn, ond mae Chef::Config yn parhau’n fyd-eang. Adferwch ef pan fydd y lawrlwytho’n methu a phan fydd y ffeil eisoes yn gyfredol. Nid yw hysbysiad diweddaru yn rhedeg yn ddiamod, ac efallai na fydd adnodd glanhau diweddarach byth yn rhedeg ar ôl eithriad.
Mae priodwedd lazy source yn gohirio gwerthuso’r briodwedd honno, nid aseiniadau Ruby o’i chwmpas. Mae gweithredu adnodd ar amser compile yn ddewis arall a gefnogir pan fo’r lawrlwytho i fod bryd hynny; mae hefyd yn newid amseru dibyniaethau a hysbysiadau. Dewiswch yn ôl pryd y mae’r cleient HTTP yn defnyddio ei osodiad dirprwy, yn hytrach na disgwyl i drefn datganiadau roi ynysiad.