GitLab Runner

گیت‌لب رانر (GitLab Runner) یک ابزار متن‌باز و سبک برای اجرای پایپ‌لاین‌های CI/CD (تست خودکار، بیلد و استقرار مستمر کدها) است. این ابزار ذاتا از محیط‌های مختلف توسعه پشتیبانی می‌کند، اما در پلتفرم ابری پارس‌پک به‌صورت یک کانتینر مستقل، بهینه و بدون نیاز به پایگاه‌داده (Stateless) مستقر می‌شود. رانر مستقیما با مخزن GitLab شما ادغام می‌شود تا فرایند پردازش کدها و تحویل نرم‌افزار را به صورت خودکار پیش ببرد.

مراحل استقرار

برای مشاهده راهنمای گام‌به‌گام ساخت سرویس و پیکربندی‌های پایه، به مستندات «استقرار برنامه‌های آماده» مراجعه کنید. همچنین برای تنظیمات زیرساختی نیز به بخش مدیریت اپلیکیشن مراجعه کنید:

پیش‌نیازها و استقرار برنامه

در استقرار کانتینری گیت‌لب رانر، معماری سیستم دارای الزامات و حساسیت‌های زیر است که باید در زمان دیپلوی به آن‌ها توجه کنید:

  • معماری بدون وضعیت (Stateless): این ابزار برخلاف پلتفرم‌های مدیریت محتوا نیازی به دیتابیس ندارد و داده‌ای را به صورت دائم ذخیره نمی‌کند؛ در نتیجه سرویس بسیار سبک اجرا می‌شود.

  • سطح دسترسی سیستمی: جهت رعایت استانداردهای امنیتی، کانتینر رانر با سطح دسترسی کاربر عادی (Non-Root) اجرا می‌شود؛ بنابراین امکان اعمال تغییرات سیستمی در سیستم‌عامل کانتینر وجود ندارد.

  • تخصیص منابع (وابسته به پردازش): ماهیت خود ابزار گیت‌لب رانر بسیار سبک است، اما میزان مصرف رم و پردازنده آن کاملا به حجم پروژه‌ها، نوع تست‌ها و عملیات کامپایل سورس‌کدهای شما بستگی دارد. برای جلوگیری از توقف پایپ‌لاین‌ها (Pipeline Failure) در حین پردازش و افت سرعت تیم، منابع سخت‌افزاری را متناسب با سنگینی جاب‌های خود تنظیم کنید.

  • موقعیت جغرافیایی و بکاپ: پیشنهاد می‌شود موقعیت دیتاسنتر رانر (ایران یا اروپا) را هم‌راستا با سرور اصلی گیت‌لب خود انتخاب کنید تا تاخیر ارتباطی شبکه به حداقل برسد. با توجه به ماهیت بدون وضعیت این کانتینر، نیازی به فعال‌سازی کلید بکاپ خودکار در زمان استقرار نیست.

متغیرهای محیطی

در گام تنظیمات برنامه، پارامتر زیر برای مشخص کردن نسخه ابزار تعریف شده است:

  • Version of Gitlab-runner Image: نسخه کانتینر اجرایی رانر را مشخص می‌کند که بر پایه توزیع سبک Alpine لینوکس بهینه‌سازی شده است.

نکته: برای آموزش گام‌به‌گام نحوه تعریف متغیرهای اختصاصی، ConfigMapها و Secretها در داشبورد، به مستندات متغیرهای محیطی مراجعه کنید.

راه‌اندازی و اتصال به گیت‌لب

برخلاف بسیاری از برنامه‌های آماده، کانتینر گیت‌لب رانر فاقد رابط کاربری وب (Web UI) است. برای فعال‌سازی کامل و اتصال این ابزار به مخزن کد، باید فرایند ثبت (Registration) را مستقیما از طریق خط فرمان انجام دهید. برای این کار، کافی است پس از ایجاد یک رانر جدید در تنظیمات CI/CD پلتفرم گیت‌لب خود، دستور حاوی توکن احراز هویت (Authentication Token) را کپی کرده و آن را در تب ترمینال (Terminal) کانتینر در پنل پارس‌پک اجرا کنید. با تعیین نوع اجراکننده در خط فرمان، کانتینر شما به مخزن متصل شده و آماده اجرای خودکار پایپ‌لاین‌ها خواهد بود.