Kana iya buɗe Jenkins ta VPN kuma har yanzu ka ga GitHub yana ba da rahoton gazawar webhook, domin waɗannan hanyoyi biyu ne daban-daban da masu su biyu daban-daban. Mai bincike yana tafiya cikin rami da kwamfutarka ta yi shawarwari; sabis ɗin isar da GitHub yana farawa daga intanet na jama’a kuma ba shi da hanyar shiga cibiyar sadarwa ta sirri. Samun damar ajiya ba ya canza hakan, ko da Jenkins da kansa zai iya ɗauka daga wannan ajiyar ba tare da matsala ba. Zaɓi wurin shiga, mai ba da kai ko bincike, sannan gwada hanyar da abin da ya faru ke bi da gaske.

Zaman mai bincike yana tabbatar da hanya ɗaya kawai

Haɗin VPN yana amsa tambaya ɗaya: shin wannan kwamfutar za ta iya isa ga mai masaukin ciki. Isar da webhook yana tambayar wata: shin sabis na waje zai iya buɗe haɗi zuwa wannan mai masaukin. Ɗaukar ajiya da Jenkins aiki ne mai fita waje kuma ba ya faɗin komai game da isa daga waje. Ka riƙe duka hanyoyin biyu a kan layi daban-daban a zanenka, har da wane gefe ne ke fara kowanne.

Ka karanta rikodin isarwa kafin ka canza komai. Ƙarewar lokaci, sake saitin haɗi da buƙatar da aka karɓa wadda ba ta dace da kowane aiki suna da masu uku daban-daban: cibiyar sadarwa, proxy da tsarin mai turawa.

Zaɓi A: buɗe ƙaramin wurin shiga

Idan ƙungiyar ta riga ta wallafa wurin shiga da aka amince da shi, buɗe hanyar webhook maimakon allon kulawa. Yawanci hakan yana nufin ƙa’idar proxy mai juyawa da ke karɓar POST a URL ɗin ƙugiya kuma tana tura su zuwa Jenkins yayin da fuskar gudanarwa ta kasance ba a isa gare ta daga waje.

curl -sS -o /dev/null -w "%{http_code}\n" -X POST https://jenkins.example.com/github-webhook/

Ka gudanar da wannan gwajin daga cibiyar sadarwa marar damar VPN, domin nasara daga cikin rami ba ta tabbatar da komai. Wurin shiga ya kamata ya ƙi buƙatun da ba su da sirrin da aka raba, wanda GitHub ke aikawa a matsayin kan rubutun sa hannu, kuma ya karɓi hanyar da hanyar kawai da ka wallafa. Konsol ɗin Jenkins na jama’a ba maganin webhook ba ne; abin da ya faru ne da ke jiran mai bincike na gaba. Ka tsawaita ƙa’idar sosai don sauran aikace-aikacen su riƙe ikon shiga da suke da shi.

Zaɓi B: juya hanya da mai ba da kai

Inda ba za a amince da buɗewar shiga ba, ƙaramin abokin ciniki a cikin cibiyar sadarwa zai iya riƙe haɗi mai fita waje zuwa mai ba da kai kuma ya karɓi abubuwan da aka tura. Mai ba da kai yakan zama ɓangare na hanyar isarwa, don haka samuwarsa da tabbatar da shi suna da muhimmanci kamar aikin ginin.

ssh -N -R 9000:localhost:8080 relay.example.net

Jagorar Jenkins game da webhook a bayan katangar wuta tana bayanin wannan siffa, kuma ya cancanci karantawa kafin ka rubuta mai tura na kanka. Ka ƙare TLS a mai ba da kai, tabbatar da sa hannu kafin abin da ya faru ya isa aikin, kuma ka sa ido kan hanyar fita, domin ramin da ya faɗi yana kama da abin da ya faru da ba a taɓa aikawa ba. Ka kuma tabbatar mai ba da kai yana adana jikin buƙatar baiti da baiti, domin binciken sa hannu yana gazawa a kan JSON da aka bincika kuma aka sake rubuta shi a hanya.

Zaɓi C: bincika ajiyar maimakon

Bincike yana musanya jinkiri da sauƙi kuma ba ya buƙatar hanyar shiga kwata-kwata. Jenkins na iya yin bincike bisa jadawali, ko ƙaramin aiki na iya tambayar API kuma ya fara gini idan ya ga wani bita da ba a sani ba.

curl -sS -u "$USER:$TOKEN" "https://api.github.com/repos/OWNER/REPO/commits?per_page=1"

Kowane bincike yana kashe kira API kuma yana ƙara jinkiri tsakanin push da gini, wanda ke bayyana a ajiyoyi masu cunkoso da iyakokin gudu da aka raba. Yana kuma buƙatar bayanan shiga da aka adana a duk inda mai bincike yake aiki, don haka ka iyakance token ɗin zuwa damar karanta ajiya kawai kuma ka juya shi kamar kowane sirri. Zaɓi wannan lokacin da yawan abubuwan da suka faru ke ƙasa ko kuma lokacin da ba za a taɓa amince da wurin shiga ba, kuma faɗi hakan a bayanin aikin don kada wani daga baya ya yi mamakin dalilin da gine-ginen ke jinkiri.

Karɓi isar da gaske, ba lodin shafi ba

Ko wane zaɓi ka zaɓa, gwajin karɓa abin da ya faru ne da dandalin tushe ya aika, ba shafin burauza da aka buɗe daga kwamfuta mai gata ba. Ka tura commit mara komai zuwa reshe na wucin gadi kuma ka karanta lambar amsar isarwa, log ɗin mai ba da kai ko fitar da aikin bincike, a wannan jerin. 200 daga wurin shiga ba tare da gini ba yana nufin matatar mai turawa ba daidai ba ce; ƙarewar lokaci yana nufin hanyar har yanzu a rufe take. Ka rubuta wanne daga cikin tsare-tsaren uku ake amfani da shi, domin in ba haka ba mutumin da zai yi gyara na gaba zai sake gwajin burauza kuma ya isa wannan matsi.

Ka yi amfani da wannan tunani ga kiran dawo da biyan kuɗi da sauran sanarwar waje: kowanne yana buƙatar hanyarsa zuwa aikace-aikacen sirri, ko da kowane mutum yana da zaman VPN tukuna. Hanyar isarwa na cikin tsarin aikace-aikacen ne, ba a cikin bayanin ƙasa game da cibiyar sadarwa ba.

Labarai masu alaƙa