Uppsetningarverk tengist, afritar gagnahlut sinn og tilkynnir árangur. Göngin sem það opnaði geta enn verið uppi þegar næsta verk byrjar, og slóðin sem það breytti tilheyrir öllum hýslinum. Niðurstaða byggingar lýsir skipuninni, ekki ástandinu sem hún skildi eftir. Líttu á VPN sem auðlind með endingartíma, ekki sem eina línu í upphafi þreps.

Hvað annað keyrir á þessum hýsil

Jenkins-hnútur getur keyrt nokkra keyrara í einu, og verk sem breytir slóðum hýsilsins, stillingum leysandans eða tengingu á kerfisvísu breytir þeim fyrir alla. Hvort annað verk tekur eftir því fer eftir stefnu um slóðir og síun, ekki almennri reglu um VPN. Aðgangur að gagnahirslu, aðgangur að gagnahlutum og stjórnrásin eru aðskildar kröfur sem runnerinn þarf enn. Bættu þeim við lista áfangastaða uppsetningar áður en þú velur full göng.

Ef stjórnrásin ætti að fara í gegnum göngin verður hönnunin að segja það viljandi. Að uppgötva það við afturköllun er ekki áætlun. Skrifaðu báða listana: hvað verkið verður að ná til í einkarekstri og hvað runnerinn verður að ná til hvað sem er.

Þarf þetta verk yfirleitt einkanlegan aðgang?

Spurðu áður en þú bætir göngunum við hvort byggingarþrepið þurfi þau. Einkarekinn uppsetningaragentur getur sótt samþykktan gagnahlut og framkvæmt uppsetninguna, sem heldur almennu byggingarþrepi utan einkanetu. Sú skipting er venjulega ódýrari en að kenna hverju byggingarþrepi að beina um göng.

Veldu mörkin út frá vinnuflæðinu, ekki vananum. Ef svarið er nei er restin af þessari síðu óþörf, og það er besta niðurstaðan sem í boði er.

Ástandið sem næsta verk erfur

Lýstu því sem á að vera satt fyrir verkið, meðan það hefur einkanlegan aðgang, og eftir að því lýkur, þar á meðal við afturköllun. Lokastandið er það sem oftast er látið ósagt, og það er það sem næsta verk erfir. Skrifaðu það við hlið pipeline í stað þess að láta það vera í minni einhvers.

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

Sérhæfður eða einnota agentur gerir þessi mörk auðveldari í framfylgd. Gámur eða nafnrými hjálpar aðeins ef net- og réttindafyrirkomulag þess einangrar breytinguna í raun.

Stöðvaðu tenginguna, ekki forritið

Notaðu lokaferil pipeline til að loka tengingunni sem þetta verk hóf og fjarlægja tímabundin skilríki þess. Ekki para ferla eftir heiti forrits á hýsil sem önnur verk nota; stöðvaðu frekar tilteknu tenginguna. Skipanalínurnar tvær hér fyrir neðan eru öll hreinsunin, og hvorug er háð því að finna ferli.

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

Lokun er ekki einangrun: runner sem deyr heldur göngunum sem það opnaði, og ferli sem er stöðvað með valdi sleppir blokkinni algjörlega. Þess vegna getur hreinsunarskipunin ein ekki verið öll hönnunin. Svona bregst það í reynd: uppsetningarverk er afturkallað við afritunarþrepið, lokunarblokkin keyrir aldrei, og næsta verk á sama hýsil byrjar með virkum göngum og slóð sem bendir á net sem það nær ekki. Bilunin lítur út eins og 'DNS'-vandamál í næstu byggingu, klukkustundum eftir að verkið sem olli henni lauk.

Skráðu sniðsheitið og slóð skilríkisins í úttak verksins. Ber skipun um aftengingu án auðkenna er erfið að endurskoða síðar. Logglínan er líka það sem sannar að blokkin hafi keyrt þegar síðari rannsókn spyr.

Gefðu verkinu hýsil sem enginn annar notar

Einnota innviðir fjarlægja arfleifðarvandamálið í stað þess að stjórna því. Nýr agentur fyrir hvert verk byrjar án slóðar, án sniðs og án skilríkja annarra, og eyðing hans hreinsar það sem verkið skildi eftir. Það kostar meira fyrir hverja byggingu, og það er heiðarlegt verð fyrir mörk sem eru ekki háð hreinsunarkóða. Fyrir verk sem snerta framleiðslunet er það venjulega ódýrari kosturinn þegar atvik eru talin.

Þar sem sameiginlegur runner verður að vera, prófaðu bilun og afturköllun jafn vandlega og vel heppnaða afritun. Prófið ætti að sýna hvað næsta verk myndi sjá ef þetta yrði afturkallað á miðri leið. Verki er lokið þegar aðgangur þess og tímabundið ástand er á enda, ekki þegar afritunarskipunin skilar núlli.

Tengdir greinar