DevOps

Runner ابری GitHub Actions

طراحی Runner کوتاه‌عمر GitHub Actions روی Cloud whycloud، BuildKit و استفاده از Registry Cache.

وضعیت فعلی

در این نسخه می‌توانید Repository و ظرفیت Runner را ثبت کنید و Workflow و Helm Values دریافت کنید. Provisioning خودکار Worker و ثبت Runner در GitHub هنوز به راه‌اندازی زیرساخت اختصاصی Cloud نیاز دارد؛ ثبت درخواست به معنی Runner فعال نیست.

معماری پیشنهادی

در کلاستر اختصاصی whycloud Cloud، Actions Runner Controller (ARC) با scale-setهای کوتاه‌عمر Runner را برای یک Repository ایجاد می‌کند. GitHub App برای احراز هویت از طریق Secret Manager مدیریت می‌شود. Runner نباید در کلاستر مشتری راه‌اندازی شود.

Build Image با Cache رجیستری

Workflow پیشنهادی از Docker Buildx و cache-from/cache-to نوع registry استفاده می‌کند. Registry باید آدرس معتبر و مجوز Pull/Push داشته باشد و Credential در GitHub Actions Secret نگهداری شود.

ایزوله‌سازی

Buildهای DIND ممکن است نیازمند privileged container باشند؛ Podها را روی Node Pool جدا، با شبکه محدود، زمان انقضای کوتاه و بدون دسترسی به کنترل‌پلین عمومی اجرا کنید.

راه‌اندازی

به DevOps → Runner بروید، owner/repo را وارد و فایل build.yml و مقادیر Helm را دریافت کنید. مدیر پلتفرم باید پیش از اجرای Jobها Cloud Worker، GitHub App و Registry Access را راه‌اندازی کند.

مطالب مرتبط