GitLab

گیت‌لب (GitLab) یک پلتفرم جامع DevOps برای مدیریت چرخه حیات نرم‌افزار، کنترل نسخه، CI/CD و نگهداری ریپازیتوری‌های کد است. گیت‌لب یک معماری بسیار سنگین و یکپارچه دارد و در پلتفرم ابری پارس‌پک، فرایند استقرار این پلتفرم به‌صورت یک بسته کامل (شامل هسته گیت‌لب، دیتابیس داخلی و سرویس‌های بک‌گراند) در یک ساختار واحد انجام می‌شود؛ بنابراین در این اپلیکیشن بر خلاف سایت‌سازها، نیازی به راه‌اندازی و مدیریت پایگاه‌داده مجزا (مانند MySQL) نخواهید داشت.

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

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

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

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

  • معماری یکپارچه (Monolithic): کانتینر گیت‌لب دیتابیس و سرویس‌های جانبی را در درون خود اجرا می‌کند و هیچ وابستگی به کانتینر دیتابیس خارجی در داشبورد ندارد.

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

  • تخصیص منابع پردازشی (حیاتی): گیت‌لب به دلیل اجرای هم‌زمان ده‌ها سرویس پس‌زمینه (نظیر رانرها و تحلیل کد)، به شدت تشنه رم و پردازنده است. کمبود منابع در گیت‌لب مستقیما باعث از کار افتادن پایپ‌لاین‌های CI/CD، توقف فرایند توسعه تیم و خطای ۵۰۲ می‌شود. تخصیص رم و پردازنده بالا برای این کانتینر الزامی است.

  • فضای ذخیره‌سازی و بکاپ: با توجه به اهمیت استراتژیک سورس‌کدها، کاهش فضای ذخیره‌سازی پس از استقرار ریسک بالایی دارد. روشن گذاشتن کلید بکاپ خودکار در زمان استقرار اکیدا توصیه می‌شود تا پلتفرم به‌طور منظم از تمام ریپازیتوری‌ها نسخه پشتیبان تهیه کند.

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

در گام تنظیمات برنامه، متغیرهای اساسی زیر را برای تعیین نسخه و دسترسی ادمین کل تعریف می‌کنید:

  • Version of Gitlab: نسخه پلتفرم را نشان می‌دهد که پسوند ce در آن به معنای نسخه رایگان کامیونیتی (Community Edition) است.

  • Gitlab root password: رمز عبور قدرتمند برای اکانت مدیر ارشد (root) است. پلتفرم به‌صورت پیش‌فرض یک رشته امن برای آن تولید می‌کند که می‌توانید آن را کپی کرده یا با رمز دلخواه جایگزین کنید.

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

تنظیمات دامنه

سیستم گیت‌لب برای تولید صحیح لینک‌های Clone (از طریق HTTP و SSH) و مدیریت دسترسی کاربران، نیازمند تنظیم دقیق دامنه اصلی است. پیش از شروع به ساخت ریپازیتوری‌ها، حتما دامنه اختصاصی خود را متصل کنید. جهت انجام این کار به راهنمای تنظیمات دامنه و IP مراجعه نمایید.

راه‌اندازی و ورود به پنل مدیریت

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

  1. در پنجره خلاصه اطلاعات که پس از اتمام استقرار نمایش داده می‌شود، رشته تولیدشده در مقابل فیلد Gitlab root password را کپی و در مکانی امن ذخیره کنید.
  2. آدرس سایت خود (ساب‌دامین ابری یا دامنه اختصاصی متصل‌شده) را در مرورگر باز کنید تا مستقیما به صفحه لاگین گیت‌لب هدایت شوید.
  3. در صفحه لاگین، کلمه root را به عنوان نام کاربری (Username or primary email) وارد کنید.
  4. در کادر Password، رمز عبوری که در مرحله اول کپی کرده بودید را قرار دهید و روی دکمه Sign in کلیک کنید تا به پیشخوان مدیریت کل پلتفرم و مخازن دسترسی پیدا کنید.