I-VPN ye-CI runner: ingabe ithumbu liphila isikhathi eside kune-build?
I-CI runner eyabiwe igcina izindlela nezinqubo phakathi kwemisebenzi. Hlela izimo ze-VPN ngaphambi, phakathi nangemuva komsebenzi, futhi uhlanze kuphela uxhumano umsebenzi ongalo.
Umsebenzi wokuthumela uyaxhumana, ukopishe i-artifact yakhe futhi ubike impumelelo. Ithumbu elilivulile lingase lisebenze lapho umsebenzi olandelayo uqala, futhi indlela eyayishintshile ingeyayo yonke i-host. Umphumela we-build uchaza umyalo, hhayi isimo ewushiyile. Thatha i-VPN njengesisetshenziswa esinesikhathi sokuphila, hhayi njengomugqa owodwa ekuqaleni kwesigaba.
Yini enye esebenza kule host
Inodi ye-Jenkins ingaqhuba abasebenzi abaningi ngesikhathi esisodwa, futhi umsebenzi oshintsha izindlela ze-host, izilungiselelo ze-resolver noma uxhumano lwesistimu yonke uzishintsha kubo bonke. Ukuthi omunye umsebenzi uyakubona yini lokho kuncike kunqubomgomo yezindlela nokuhlunga, hhayi kumthetho jikelele nge-VPN. Ukufinyelela kurepository, ukufinyelela ku-artifact nesiteshi sokulawula yizimfuneko ezihlukene i-runner esazidingayo. Faka lezo ohlwini lwezindawo zokuthumela ngaphambi kokukhetha ithumbu eligcwele.
Uma isiteshi sokulawula sizodlula ethumbini, umklamo kufanele usho lokho ngamabomu. Ukukuthola ngesikhathi sokubuyisela emuva akulona icebo. Bhala izinhlu ezimbili: umsebenzi kufanele ufinyelele ini ngasese, futhi i-runner kufanele ifinyelele ini kungakhathaliseki.
Ngabe lo msebenzi uwudinga nhlobo ukufinyelela kwangasese?
Buza ngaphambi kokwengeza ithumbu ukuthi isigaba se-build siyalidinga yini. I-ejenti yokuthumela yangasese ingathola i-artifact egunyaziwe futhi yenza ukuthumela, lokho kugcina isigaba se-build esijwayelekile ngaphandle kwenethiwekhi yangasese. Lokho kwehlukanisa ngokuvamile kushibhile kunokufundisa isinyathelo ngasinye se-build ukuthi sidlule ethumbini.
Khetha umngcele ngokuhamba komsebenzi, hhayi ngomkhuba. Uma impendulo ithi cha, ingxenye esele yaleli khasi ayidingeki, futhi lowo umphumela ongcono kakhulu okhona.
Isimo umsebenzi olandelayo esizuzayo
Chaza ukuthi yini okufanele ibe yiqiniso ngaphambi komsebenzi, ngenkathi unokufinyelela kwangasese, nangemuva kokuthi uphelile, kuhlanganisa nokukhanselwa. Isimo sokugcina yiso esivame ukushiywa singashiwo, futhi yiso umsebenzi olandelayo asizuzayo. Sibhale eduze kwe-pipeline esikhundleni sokusishiya enkumbulweni yothile.
| 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 |
I-ejenti ezinikezelwe noma esetshenziswa kanye yenza leyo mingcele ilula ukuyiphumeza. I-container noma i-namespace isiza kuphela uma ukuhlelwa kwayo kwenethiwekhi namalungelo kuhlukanisa ngempela ushintsho.
Misa uxhumano, hhayi uhlelo
Sebenzisa indledlana yokuqeda ye-pipeline ukuvala uxhumano olwaqalwa yilo msebenzi nokususa izifakazelo zalo zesikhashana. Ungafanisi izinqubo ngokwegama lohlelo ku-host esetshenziswa eminye imisebenzi; misa uxhumano oluthile esikhundleni salokho. Imiyalo emibili engezansi iwukuhlanza konke, futhi akukho okuncike ekutholeni inqubo.
vpn-cli disconnect --profile "$PROFILE"
rm -f "$RUNNER_TEMP/client.key"
Ukuqeda akukona ukuhlukanisa: i-runner efa igcina ithumbu elilivulile, futhi inqubo emiswa ngenkani yeqa leso sigaba ngokuphelele. Yingakho umyalo wokuhlanza wodwa ungeke ube umklamo wonke. Nakhu okuhluleka ngokoqobo: umsebenzi wokuthumela ukhanselwa esinyathelweni sokukopisha, isigaba sokuqeda asikaze sisebenze, futhi umsebenzi olandelayo kuleyo host uqala ngethumbu eliphilayo nendlela ekhombe kunethiwekhi engakwazi ukuyifinyelela. Ukuhluleka kubonakala njengenkinga ye-'DNS' ku-build elandelayo, emahoreni ngemuva kokuphela komsebenzi owabangela lokho.
Bhala igama le-profile nendlela yezifakazelo emkhiqizweni womsebenzi. Umyalo ongenalutho wokunqamula ngaphandle kwesihlonzi kunzima ukuwuhlola kamuva. Umugqa we-log nawo yiwona ofakazayo ukuthi isigaba sisebenzile lapho uphenyo lwakamuva lubuza.
Nikeza umsebenzi i-host engeyisebenzisi omunye umuntu
Ingqalasizinda esetshenziswa kanye isusa inkinga yezuzo esikhundleni sokuyiphatha. I-ejenti entsha yomsebenzi ngamunye iqala ingenandlela, ingenaprofile futhi ingenazifakazelo zomunye umuntu, futhi ukubhujiswa kwayo kuhlanza noma yini umsebenzi ayishiyile. Lokho kubiza kakhulu nge-build ngayinye, futhi yileyyo nani leqiniso lomngcele onganciki kukhodi yokuhlanza. Emisebenzini ethinta amanethiwekhi okukhiqiza, ngokuvamile iyisinqumo esishibhile uma izehlakalo sezibalwa.
Lapho i-runner eyabiwe kufanele ihlale khona, hlola ukuhluleka nokukhanselwa ngokucophelela njengokukopisha okuphumelelayo. Ukuhlola kufanele kubonise lokho umsebenzi olandelayo obengakubona uma lona ubukhanselwe phakathi nendawo. Umsebenzi uphela lapho ukufinyelela kwalo nesimo salo sesikhashana kuphelile, hhayi lapho umyalo wokukopisha ubuyisela uziro.