برنامه نویسی

پروکسی برای اقدام بسته در درخواست کشش [DroneCI + GitHub]

سلام.
اگر قبلاً سعی کرده اید CI + CD را با DroneCI به برنامه خود اضافه کنید، می دانید که این ابزار چقدر برای آن قدرتمند است. این کار می کند.

برای مطالعاتم، کمی در DevOps عمیق می‌رفتم و به طور پویا محیط‌های بررسی را برای هر درخواست کششی که در پروژه باز می‌شد ایجاد می‌کردم. همه کار بر روی تصاویری که همه کارها را انجام می دهند (در آینده می توانم بیشتر توضیح دهم)، استقرار در خوشه شخصی K8s من (با تشکر از Helm و الگوها).

پس از همه اجرا، یک مشکل کوچک را کشف کرد. ارائه دهنده، در این مورد، Github، قلاب را با تمام اطلاعات ارسال می کند، اما DroneCI ساده عمل را نادیده می گیرد. closed. بنابراین نمی توانید اقدامات PR نزدیک را در CI خود راه اندازی کنید (در مورد من، حذف برنامه های محیط های بازبینی).

پس از جستجوهای زیاد در وب، راه حلی پیدا نکردم، بنابراین یکی از آن جاجاجاجا را ساختم.

خوب، اگر شما نیز با این مشکل مواجه شدید که نمی‌توانید خط لوله خود را که برای drone.yaml شما پیکربندی شده است راه‌اندازی کنید، زمانی که عمل انجام می‌شود closedبه عنوان مثال، یکی از راه حل های ممکن اضافه کردن یک پیشخوان پروکسی بین GitHub و برنامه DroneCI شما است.

پروژه:
https://github.com/tcharlezin/drone-ci-proxy

در اصل، شما فقط باید محیط ها را پیکربندی کنید:

WEB_PORT="8080"
TARGET_HOST="https://drone-ci.your-domain.here"

برنامه را مستقر کنید، GitHub خود را طوری پیکربندی کنید که قلاب / را برای پراکسی نشان دهد، و تمام.

در اینجا می توانید اطلاعات قلاب را مشاهده کرده و با آن مقابله کنید:

https://github.com/tcharlezin/drone-ci-proxy/blob/master/cmd/handle/handle.go#L64

لذت ببرید!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا