Jenkins

جنکینز (Jenkins) یک ابزار متن‌باز اتوماسیون است که به‌طور خاص برای پیاده‌سازی یکپارچه‌سازی مداوم (CI) و تحویل مداوم (CD) در فرایندهای توسعه نرم‌افزار و اکوسیستم‌های DevOps طراحی شده است. این ابزار با خودکارسازی فرایندهای تست، ساخت (Build) و استقرار، به تیم‌های فنی اجازه می‌دهد تغییرات کد را با سرعت و پایداری بالا به پروداکشن منتقل کنند. جنکینز با پشتیبانی از پلاگین‌های متنوع، امکان ادغام با انواع ابزارهای توسعه را فراهم می‌کند. در پلتفرم ابری پارس‌پک، این ابزار به‌صورت یک کانتینر مستقل و بدون نیاز به پایگاه‌داده مجزا راه‌اندازی می‌شود و کل فرایند اتوماسیون را در چند دقیقه آماده کار می‌کند.

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

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

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

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

  • معماری یکپارچه و مستقل: این سیستم در مراحل ساخت نیازی به راه‌اندازی پایگاه‌داده جداگانه ندارد و تمامی اطلاعات، تاریخچه جاب‌ها و پیکربندی‌ها را درون خود مدیریت می‌کند.

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

  • نیاز به منابع پردازشی بالا: اجرای جنکینز به دلیل ماهیت پردازش‌ها و عملیات بیلد، نیازمند سخت‌افزار قدرتمندی است. پلن پایه این ابزار از حداقل ۴ گیگابایت رم و ۲ هسته پردازنده شروع می‌شود. متناسب با حجم پروژه‌ها و تعداد پایپ‌لاین‌های هم‌زمان تیم خود، منابع را ارتقا دهید تا از قفل شدن کانتینر در زمان اجرای جاب‌ها جلوگیری شود.

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

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

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

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

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

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

پلتفرم جنکینز برای مدیریت صحیح وب‌هوک‌ها، اتصال به ریپازیتوری‌های گیت‌هاب/گیت‌لب و دسترسی بدون مشکل اعضای تیم توسعه، نیازمند تنظیم دقیق دامنه است. پس از اتمام استقرار، حتما دامنه یا ساب‌دامین اختصاصی خود را به این سرویس متصل کنید. جهت انجام این کار به راهنمای تنظیمات دامنه و IP مراجعه نمایید.

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

پس از پر شدن نوار پیشرفت استقرار و فعال شدن وضعیت سرویس در داشبورد، برای راه‌اندازی اولیه مراحل زیر را طی کنید:

  1. آدرس سایت خود (ساب‌دامین ابری یا دامنه اختصاصی متصل‌شده) را در مرورگر باز کنید.
  2. در اولین ورود، با صفحه Unlock Jenkins مواجه می‌شوید که از شما رمز عبور اولیه ادمین را می‌خواهد.
  3. برای یافتن این رمز، به داشبورد پارس‌پک برگردید. شما دو راه برای استخراج این رمز دارید:
    • از طریق تب لاگ‌ها: وارد تب لاگ‌ها (Logs) کانتینر جنکینز شوید و به دنبال رشته متنی ۳۲ کاراکتری که زیر عبارت Initial Admin Password چاپ شده است بگردید.
    • از طریق تب ترمینال (سریع‌ترین راه): وارد تب ترمینال کانتینر شوید و دستور cat /var/jenkins_home/secrets/initialAdminPassword را اجرا کنید تا رمز مستقیما به شما نمایش داده شود.
  4. رمز استخراج‌شده را در کادر Administrator password در مرورگر وارد کرده و روی دکمه Continue کلیک کنید.
  5. در مرحله بعد، گزینه Install suggested plugins را انتخاب کنید تا افزونه‌های پایه و ضروری به صورت خودکار نصب شوند.
  6. در گام نهایی، مشخصات اکانت مدیر ارشد (شامل نام کاربری، رمز عبور دائم و ایمیل) را تعیین کنید تا وارد محیط اصلی مدیریت پایپ‌لاین‌های جنکینز شوید.