VPN rhedwr CI: a yw'r twnnel yn goroesi'r adeiladwaith?
Mae rhedwr CI a rennir yn cadw llwybrau a phrosesau rhwng tasgau. Cynlluniwch gyflwr y VPN cyn, yn ystod ac ar ôl y gwaith, a glanhewch yn unig y cysylltiad sy'n eiddo i'r dasg.
Mae tasg defnyddio yn cysylltu, yn copïo ei arteffact ac yn adrodd llwyddiant. Gall y twnnel a agorodd fod yn dal i fyny pan fydd y dasg nesaf yn dechrau, ac mae'r llwybr a newidiodd yn perthyn i'r holl westeiwr. Mae canlyniad adeiladu yn disgrifio'r gorchymyn, nid y cyflwr a adawodd ar ei ôl. Triniwch y VPN fel adnodd â oes ganddo, nid fel un llinell ar ddechrau cam.
Beth arall sy'n rhedeg ar y gwesteiwr hwn
Gall nod Jenkins redeg sawl gweithredwr ar unwaith, ac mae tasg sy'n newid llwybrau'r gwesteiwr, gosodiadau'r datryswr neu gysylltiad ar lefel y system yn eu newid i bawb. A yw tasg arall yn sylwi ar hynny sy'n dibynnu ar y polisi llwybrau a hidlo, nid ar reol gyffredinol am VPNau. Mae mynediad i'r storfa, mynediad i arteffactau a'r sianel reoli yn ofynion ar wahân sydd eu hangen ar y rhedwr o hyd. Ychwanegwch y rheini at y rhestr gyrchfannau defnyddio cyn dewis twnnel llawn.
Pe bai'r sianel reoli yn croesi'r twnnel, rhaid i'r dyluniad ddweud hynny'n fwriadol. Nid yw darganfod hynny wrth ailgynnig yn gynllun. Ysgrifennwch y ddwy restr: beth y mae'n rhaid i'r dasg ei gyrraedd yn breifat, a beth y mae'n rhaid i'r rhedwr ei gyrraedd beth bynnag.
A oes angen mynediad preifat ar y dasg hon o gwbl?
Gofynnwch cyn ychwanegu'r twnnel a oes ei angen ar gam yr adeiladwaith. Gall asiant defnyddio preifat nôl arteffact cymeradwy a chyflawni'r defnyddio, sy'n cadw cam cyffredinol yr adeiladwaith allan o'r rhwydwaith preifat. Mae'r hollt hwnnw fel arfer yn rhatach na dysgu pob cam adeiladu i lwybro drwy dwmnel.
Dewiswch y ffin o'r llif gwaith yn hytrach nag o arfer. Os mai na yw'r ateb, mae gweddill y dudalen hon yn ddiangen, a dyna'r canlyniad gorau sydd ar gael.
Y cyflwr a etifeddodd y dasg nesaf
Disgrifiwch beth a ddylai fod yn wir cyn y dasg, tra mae ganddi fynediad preifat, ac ar ôl iddi orffen, gan gynnwys canslo. Y cyflwr terfynol yw'r un a adewir yn aml heb ei ddweud, a dyna'r un a etifeddir gan y dasg nesaf. Ysgrifennwch ef wrth ymyl y biblinell yn lle ei adael yng nghof rhywun.
| Moment | What proves it | What leaks if it is skipped |
|---|---|---|
| Job start: pre-flight route check | The route table shows no tunnel from an earlier job, and the profile list is empty | A stale route sends deployment traffic into a dead tunnel |
| Job end: disconnect and shred | The profile is down and the temporary key file is gone | The next job inherits an open tunnel and a usable credential |
| Cancelled job: reboot or disposal | The host is replaced or rebooted before the next job starts | A killed process leaves the tunnel up with no owner |
Mae asiant pwrpasol neu un-defnydd yn gwneud y ffiniau hynny'n haws eu gorfodi. Nid yw cynhwysydd neu ofod enwau yn helpu ond os yw ei drefniant rhwydwaith a braint yn ynysu'r newid mewn gwirionedd.
Ataliwch y cysylltiad, nid y rhaglen
Defnyddiwch lwybr gorffen y biblinell i gau'r cysylltiad a gychwynnodd y dasg hon a symud ei chymwysterau dros dro. Peidiwch â chyfateb prosesau yn ôl enw'r rhaglen ar westeiwr y mae tasgau eraill yn ei ddefnyddio; ataliwch y cysylltiad penodol yn lle hynny. Y ddau orchymyn isod yw'r holl lanhau, ac nid yw'r naill na'r llall yn dibynnu ar ddod o hyd i broses.
vpn-cli disconnect --profile "$PROFILE"
rm -f "$RUNNER_TEMP/client.key"
Nid yw gorffen yn ynysu: mae rhedwr sy'n marw yn cadw'r twnnel a agorodd, ac mae proses a ataliwyd yn rymus yn hepgor y bloc yn gyfan gwbl. Dyna pam na all y gorchymyn glanhau ar ei ben ei hun fod yr holl ddyluniad. Dyma sut mae'n methu'n ymarferol: mae tasg defnyddio yn cael ei chanslo yn y cam copïo, nid yw'r bloc gorffen byth yn rhedeg, ac mae'r dasg nesaf ar yr un gwesteiwr yn dechrau gyda thwnnel byw a llwybr sy'n pwyntio at rwydwaith na all ei gyrraedd. Mae'r methiant yn edrych fel problem 'DNS' yn yr adeiladwaith nesaf, oriau ar ôl i'r dasg a'i hachubodd orffen.
Cofnodwch enw'r proffil a llwybr y cymhwyster yn allbwn y dasg. Mae gorchymyn datgysylltu noeth heb unrhyw adnabyddiaeth yn anodd ei archwilio wedyn. Y llinell log hefyd yw'r hyn sy'n profi bod y bloc wedi rhedeg pan fydd ymchwiliad diweddarach yn gofyn.
Rhowch westeiwr i'r dasg nad oes neb arall yn ei ddefnyddio
Mae seilwaith tafladwy yn tynnu'r broblem etifeddiaeth yn lle ei rheoli. Mae asiant newydd ar gyfer pob tasg yn dechrau heb lwybr, heb broffil a heb gymhwyster gan neb arall, ac mae ei ddinistrio yn glanhau beth bynnag a adawodd y dasg. Mae hynny'n costio mwy fesul adeiladwaith, a dyna bris gonest ffin nad yw'n dibynnu ar god glanhau. Ar gyfer tasgau sy'n cyffwrdd â rhwydweithiau cynhyrchu, fel arfer dyma'r opsiwn rhatach unwaith y caiff digwyddiadau eu cyfrif.
Lle mae'n rhaid i redwr a rennir aros, profwch fethiant a chanslo mor ofalus â'r copïo llwyddiannus. Dylai'r prawf ddangos beth a welai'r dasg nesaf pe ba'r un hon yn cael ei chanslo hanner ffordd. Mae tasg wedi gorffen pan fydd ei mynediad a'i chyflwr dros dro wedi dod i ben, nid pan fydd y gorchymyn copïo yn dychwelyd sero.