Kazi ya usambazaji huunganisha, hunakili artifact yake na kuripoti mafanikio. Handaki ililoifungua linaweza kuwa hai bado kazi inayofuata inapoanza, na njia iliyoibadilisha ni ya mwenyeji mzima. Matokeo ya build hueleza amri, si hali iliyoachwa nyuma. Chukulia VPN kama rasilimali yenye maisha, si kama mstari mmoja mwanzoni mwa hatua.

Nini kingine kinaendeshwa kwenye mwenyeji huyu

Nodi ya Jenkins inaweza kuendesha watekelezaji kadhaa kwa wakati mmoja, na kazi inayobadilisha njia za mwenyeji, mipangilio ya resolver au muunganisho wa mfumo mzima huibadilisha kwa wote. Ikiwa kazi nyingine itagundua hilo hutegemea sera ya njia na uchujaji, si kanuni ya jumla kuhusu VPN. Ufikiaji wa hazina, ufikiaji wa artifact na kituo cha udhibiti ni mahitaji tofauti ambayo runner bado inahitaji. Waongeze kwenye orodha ya maeneo ya usambazaji kabla ya kuchagua handaki kamili.

Ikiwa kituo cha udhibiti kingepita ndani ya handaki, muundo lazima useme hivyo kwa makusudi. Kugundua hilo wakati wa kurudi nyuma si mpango. Andika orodha mbili: kile kazi inachopaswa kufikia kwa faragha na kile runner inachopaswa kufikia bila kujali.

Je, kazi hii inahitaji ufikiaji wa faragha hata kidogo?

Uliza kabla ya kuongeza handaki ikiwa hatua ya build inaihitaji. Wakala wa usambazaji wa faragha anaweza kupata artifact iliyoidhinishwa na kufanya usambazaji, jambo linaloiweka hatua ya jumla ya build nje ya mtandao wa faragha. Mgawanyo huo kwa kawaida ni wa bei nafuu kuliko kufundisha kila hatua ya build kupita ndani ya handaki.

Chagua mpaka kutoka kwa mtiririko wa kazi badala ya tabia. Ikiwa jibu ni hapana, sehemu iliyobaki ya ukurasa huu haihitajiki, na hilo ni tokeo bora linalopatikana.

Hali ambayo kazi inayofuata inarithi

Eleza kile kinachopaswa kuwa kweli kabla ya kazi, wakati ina ufikiaji wa faragha, na baada ya kumalizika, pamoja na kughairiwa. Hali ya mwisho ndiyo inayoachwa bila kutajwa mara nyingi, na ndiyo kazi inayofuata inarithi. Iandike kando ya pipeline badala ya kuiacha kwenye kumbukumbu ya mtu.

MomentWhat proves itWhat leaks if it is skipped
Job start: pre-flight route checkThe route table shows no tunnel from an earlier job, and the profile list is emptyA stale route sends deployment traffic into a dead tunnel
Job end: disconnect and shredThe profile is down and the temporary key file is goneThe next job inherits an open tunnel and a usable credential
Cancelled job: reboot or disposalThe host is replaced or rebooted before the next job startsA killed process leaves the tunnel up with no owner

Wakala maalum au wa matumizi moja hurahisisha kutekeleza mipaka hiyo. Kontena au namespace husaidia tu ikiwa mpangilio wake wa mtandao na upendeleo kweli hutenganisha mabadiliko.

Simamisha muunganisho, si programu

Tumia njia ya kukamilisha ya pipeline kufunga muunganisho ambao kazi hii ilianzisha na kuondoa sifa zake za muda. Usilinganishe michakato kwa jina la programu kwenye mwenyeji unaotumiwa na kazi nyingine; simamisha muunganisho maalum badala yake. Amri mbili zilizo chini ni usafishaji wote, na hakuna inayotegemea kupata mchakato.

vpn-cli disconnect --profile "$PROFILE"
rm -f "$RUNNER_TEMP/client.key"

Kukamilisha si kutenganisha: runner inayokufa huhifadhi handaki iliyoifungua, na mchakato unaosimamishwa kwa nguvu huruka kizuizi kabisa. Ndiyo sababu amri ya usafishaji peke yake haiwezi kuwa muundo mzima. Hivi ndivyo inavyoshindikana kivitendo: kazi ya usambazaji inaghairiwa kwenye hatua ya kunakili, kizuizi cha kukamilisha hakiendeshwi kamwe, na kazi inayofuata kwenye mwenyeji huyo huyo huanza na handaki hai na njia inayoelekea mtandao ambao haiwezi kuufikia. Kushindikana huonekana kama tatizo la 'DNS' kwenye build inayofuata, saa nyingi baada ya kazi iliyolisababisha kumalizika.

Andika jina la profile na njia ya sifa katika matokeo ya kazi. Amri tupu ya kukatiza bila kitambulisho ni vigumu kukaguliwa baadaye. Mstari wa logi pia ndio unaothibitisha kuwa kizuizi kiliendeshwa uchunguzi wa baadaye unapouliza.

Ipe kazi mwenyeji ambaye hakuna mwingine anayetumia

Miundombinu ya matumizi moja huondoa tatizo la urithi badala ya kulisimamia. Wakala mpya kwa kila kazi huanza bila njia, bila profile na bila sifa za mtu mwingine, na uharibifu wake husafisha chochote kazi ilichoacha. Hiyo hugharimu zaidi kwa kila build, na ni bei ya uaminifu ya mpaka usiotegemea msimbo wa usafishaji. Kwa kazi zinazogusa mitandao ya uzalishaji, kwa kawaida ni chaguo la bei nafuu mara matukio yanapohesabiwa.

Pale runner inayoshirikiwa inapaswa kubaki, jaribu kushindikana na kughairiwa kwa uangalifu kama kunakili kwa mafanikio. Jaribio linapaswa kuonyesha kile kazi inayofuata ingekiona ikiwa hii ingeghairiwa katikati. Kazi imekamilika pale ufikiaji wake na hali yake ya muda vinapomalizika, si pale amri ya kunakili inaporudisha sifuri.

Makala zinazohusiana