تاسو کولای شئ Jenkins د VPN له لارې پرانیزئ او بیا هم وګورئ چې GitHub د ناکام ویب هوک راپور ورکوي، ځکه چې دا دوه بېلابېلې اړیکې دي چې دوه بېلابېل مالکین لري. براوزر هغه تونل ته ځي چې ستاسو لپ ټاپ پر سر یې خبرې کړې دي؛ د GitHub د سپارلو خدمت له عامه انټرنیټ پیلېږي او شخصي شبکې ته هیڅ لار نه لري. د زېرمې لاسرسی دا نه بدلوي، که څه هم Jenkins پخپله کولای شي له همدې زېرمې پرته له ستونزې واخلي. یو ننوتل، رېله یا پوښتنه وټاکئ، بیا هغه لار وازموئ چې پېښه واقعاً پرې ځي.

د براوزر ناسته یوازې یوه لوری ثابتوي

د VPN اړیکه یوې پوښتنې ته ځواب وایي: ایا دا لپ ټاپ کولای شي داخلي کوربه ته ورسیږي. د ویب هوک سپارل بله پوښتنه کوي: ایا بهرنی خدمت کولای شي له دې کوربه سره اړیکه پرانیزي. دا چې Jenkins له زېرمې څخه اخلي، وتونکی ترافیک دی او د ننوتلو د لاسرسي په اړه هیڅ نه وایي. په خپل انځور کې دواړه لوري په جلا کرښو کې وساتئ، په دې هم چې کوم اړخ هر یو پیلوي.

له هر بدلون دمخه د سپارلو ریکارډ ولولئ. د وخت پای، د اړیکې بیا تنظیم او هغه منل شوې غوښتنه چې له کوم کار سره سمه نه وه، درې بېلابېل مالکین لري: شبکه، پراکسي او د محرک ترتیب.

ګزینه A: یو تنګ پای ټکی پرانیزئ

که سازمان لا دمخه تصویب شوی ننوتل خپروي، د ډشبورډ پر ځای د ویب هوک لار پرانیزئ. معمولاً دا د معکوس پراکسي هغه قاعده ده چې په هوک URL کې POST مني او هغه Jenkins ته لېږي، په داسې حال کې چې اداري مخ بهر ته نه رسېدونکی پاتې کېږي.

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

دا ازموینه له هغې شبکې چل کړئ چې VPN لاسرسی نه لري، ځکه چې د تونل له دننه بریالیتوب هیڅ ثابتولای نه شي. پای ټکی باید هغه غوښتنې رد کړي چې ګډ راز نه لري، کوم چې GitHub د لاسلیک سرلیک په توګه لېږي، او یوازې هغه یوه لار او طریقه ومني چې تاسو خپرې کړې ده. عامه Jenkins کنسول د ویب هوک حل نه دی؛ دا هغه پېښه ده چې بل سکنر ته انتظار کوي. قاعده په کافي اندازه تنګه کړئ تر څو پاتې اپلیکیشن خپل پخواني لاسرسي کنټرولونه وساتي.

ګزینه B: د رېلې سره لوری واړوئ

چېرې چې ننوتونکی ښکاریدل تصویب نه شي، په شبکه کې دننه یو کوچنی کلاینټ کولای شي رېلې ته وتونکې اړیکه وساتي او لېږل شوې پېښې ترلاسه کړي. رېله بیا د سپارلو د لارې برخه کېږي، نو د هغې شتون او تصدیق د جوړولو د کار په اندازه مهم دي.

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

د اور دېوالونو شاته د ویب هوکونو په اړه د Jenkins لارښود دا بڼه تشریح کوي، او د خپل لېږدوونکي له لیکلو دمخه یې لوستل ارزښت لري. په رېله کې TLS پای ته ورسوئ، د پېښې تر کار رسېدو دمخه لاسلیک تصدیق کړئ، او وتونکې اړیکه وڅارئ، ځکه چې لوېدلی تونل په بشپړه توګه هغه پېښې ته ورته ښکاري چې کله هم نه ده لېږل شوې. دا هم تایید کړئ چې رېله د غوښتنې بدن بایت په بایت ساتي، ځکه چې د لاسلیک ازموینې په هغه JSON کې ناکامېږي چې په لار کې تحلیل او بیا کوډ شوی وي.

ګزینه C: پر ځای یې زېرمه وپوښتئ

پوښتنه ځنډ د سادګۍ سره بدلوي او هېڅ د ننوتلو لار ته اړتیا نه لري. Jenkins کولای شي د مهالوېش له مخې وپوښتي، یا یو کوچنی کار کولای شي API وپوښتي او کله چې ناپېژاند بیاکتنه وویني، جوړول پیل کړي.

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

هره پوښتنه د API غوښتنې لګښت کوي او د push او جوړولو ترمنځ ځنډ ورزیاتوي، کوم چې په بوختو زېرمو او شریکو سرعت حدونو کې ښکاري. دا هماغه ځای ته اړتیا لري چې پوښتونکی پرې چلیږي، د اعتبار اسنادو زېرمه کول، نو ټوکن یوازې زېرمې ته د لوستلو لاسرسي پورې محدود کړئ او لکه هر بل راز یې بدلوئ. دا هغه وخت وټاکئ چې د پېښو اندازه ټیټه وي یا هغه وخت چې هیڅ ننوتل به هېڅکله تصویب نه شي، او دا په کار تفصیل کې ولیکئ تر څو وروسته چا ته حیرانتیا نه وي چې جوړول ولې شاته پاتې کېږي.

اصلي سپارل ومنئ، نه د پاڼې بارول

د هرې ګزینې په انتخاب سره، د منلو ازموینه هغه پېښه ده چې سرچینه پلیټفارم لېږي، نه هغه براوزر ټب چې د امتیاز لرونکي لپ ټاپ له مخې پرانیستل شوی. یو خالي commit سکرېچ څانګې ته push کړئ او د سپارلو ځواب کوډ، د رېلې لاګ یا د پوښتنې کار پایله په همدې ترتیب ولولئ. د پای ټکي څخه 200 او جوړول نه وي، مانا دا ده چې د محرک فلټر غلط دی؛ د وخت پای مانا دا ده چې لار لا بنده ده. ولیکئ چې له درېیو ډیزاینونو کوم یو کارول کېږي، که نه نو بل ډیبګ کوونکی به د براوزر ازموینه تکرار کړي او هماغه بند کوڅې ته ورسیږي.

دا هماغه منطق د تادیې کال بکونو او نورو بهرنیو خبرتیاوو ته هم وکاروئ: هر یو ته په شخصي اپلیکیشن کې خپله لار ته اړتیا ده، حتی کله چې هر انسان لا دمخه VPN ناسته ولري. د سپارلو لار د اپلیکیشن ډیزاین برخه ده، نه د شبکو په اړه د پښنې یادونه.

اړوندې مقالې