سرویس فعال — نصب یک‌کلیک

Jenkins؛ سرور CI/CD اختصاصی شما در تهران

Jenkins LTS با Java 21 در مرحلهٔ سفارش روی سرور ابری نصب می‌شود؛ رمز اولیهٔ مدیر در پنل آماده است و فقط مراحل راه‌اندازی اولیه و انتخاب افزونه‌ها با شماست.

حساب دارید؟ وارد شوید

از ۲٬۲۰۰ تومان در ساعت،  حدود ۱٬۶۰۶٬۰۰۰ تومان در ماه

لوگوی Jenkins

Jenkins

اپلیکیشن روی سرور ابری

شروع قیمت،پلن standard

۲٬۲۰۰تومان / ساعت

حدود ۱٬۶۰۶٬۰۰۰ تومان در ماه،بر پایهٔ ۷۳۰ ساعت

  • ۲ گیگابایت RAM لازم است،  از پلن standard
  • رمز اولیهٔ مدیر،  در تب «اپلیکیشن» پنل
  • پورت ۸۰۸۰،  خودکار در فایروال باز می‌شود
  • هزینهٔ نصب: صفر،  فقط اجارهٔ ساعتی سرور
  • پورت ۱۰ گیگابیت اختصاصی برای هر سرور
  • دیسک NVMe SSD روی همهٔ سرورها
  • آماده زیر ۶۰ ثانیه راه‌اندازی خودکار سرور
  • دیتاسنتر تهران میزبانی داخل ایران
  • صورت‌حساب ساعتی پرداخت به تومان

معرفی

سرور Jenkins اختصاصی روی سرور ابری ایران‌کلاد

Jenkins را در مرحلهٔ ساخت سرور از فهرست اپلیکیشن‌ها انتخاب می‌کنید و چند دقیقه بعد یک سرور CI/CD خالی و تمیز دارید که آمادهٔ باز کردن قفل و نصب افزونه‌های دلخواه شماست.

سرور در دیتاسنتر تهران است و دسترسی root آن کامل در اختیار شماست؛ پس هر ابزار build، کامپایلر یا SDK که pipeline‌ها لازم دارند را کنار Jenkins نصب می‌کنید. هزینه فقط اجارهٔ ساعتی سرور است و نصب رایگان انجام می‌شود.

امکانات کلیدی

آنچه بعد از نصب در اختیار دارید

  • Jenkins LTS و Java 21

    نسخهٔ پایدار از مخزن رسمی که با apt به‌روز می‌شود و به‌صورت سرویس systemd اجرا می‌شود.

  • رمز اولیه در پنل

    initialAdminPassword و آدرس پنل در تب «اپلیکیشن»؛ بدون نیاز به SSH برای اولین ورود.

  • فایروال آماده

    فقط پورت ۸۰۸۰ برای Jenkins باز می‌شود؛ پورت‌های دیگر را خودتان و آگاهانه اضافه می‌کنید.

۴ گام تا شروع

روش نصب گام‌به‌گام

  1. گام ۱: انتخاب پلن با دست‌کم دو گیگابایت RAM

    Jenkins روی Java اجرا می‌شود و در پلن‌های کوچک‌تر از standard در فهرست اپلیکیشن‌ها قابل انتخاب نیست. اگر build‌های سنگین روی همین سرور اجرا می‌کنید، plus یا pro را بگیرید.

  2. گام ۲: انتخاب Jenkins در تب اپلیکیشن‌ها

    در گام دوم سفارش، تب اپلیکیشن‌ها را باز کنید و Jenkins را برگزینید؛ Ubuntu 24.04 خودکار انتخاب می‌شود. روش ورود SSH را تعیین و سفارش را ثبت کنید.

  3. گام ۳: باز کردن قفل Jenkins

    پس از پایان نصب، در تب «اپلیکیشن» صفحهٔ سرور آدرس پنل روی پورت ۸۰۸۰ و رمز initialAdminPassword را می‌بینید. آدرس را باز کنید و رمز را در صفحهٔ Unlock Jenkins وارد کنید.

  4. گام ۴: نصب افزونه‌ها و ساخت مدیر

    در ویزارد راه‌اندازی گزینهٔ نصب افزونه‌های پیشنهادی یا انتخاب دستی را بزنید، سپس یک کاربر مدیر با رمز شخصی بسازید و آدرس نهایی Jenkins را تأیید کنید.

قیمت و سفارش

هزینهٔ اجرای Jenkins

صورت‌حساب ساعتی است و مبلغ به تومان از کیف پول کسر می‌شود؛ هر وقت سرویس را حذف کنید، هزینه هم متوقف می‌شود.

Jenkins

از ۲٬۲۰۰ تومان / ساعت

حدود ۱٬۶۰۶٬۰۰۰ تومان در ماه (۷۳۰ ساعت کارکرد)

ساعتی

آنچه دریافت می‌کنید

  • دیسک NVMe SSD و پورت اختصاصی ۱۰ گیگابیت برای هر سرور
  • سرور در کمتر از ۶۰ ثانیه آماده می‌شود
  • دیتاسنتر تهران، صورت‌حساب ساعتی به تومان
سفارش سرور با Jenkins

حساب دارید؟ وارد شوید

مقایسهٔ همهٔ پلن‌ها

راهنمای کامل

راهنمای کامل Jenkins روی سرور ابری ایران‌کلاد

این راهنما برای تیم‌هایی است که می‌خواهند build، تست و استقرار را خودکار کنند و سرور CI را خودشان در اختیار داشته باشند. دقیق می‌نویسیم نصب یک‌کلیک ما چه چیزی روی سرور می‌گذارد و چه چیزی را عمداً به انتخاب شما می‌سپارد، هزینه با قیمت‌های امروز چقدر است، چطور امنش کنید و کجا به ابزار دیگری نیاز دارید. اگر کدتان را هم می‌خواهید روی سرور خودتان نگه دارید، Gitea همراه خوبی برای Jenkins است.

۹ بخش حدود ۶ دقیقه مطالعه

فهرست مطالب

Jenkins چیست و چه تیمی به آن نیاز دارد؟

Jenkins قدیمی‌ترین و پرکاربردترین سرور خودکارسازی متن‌باز در دنیای CI/CD است. هر بار که کسی در مخزن کد push می‌کند، Jenkins می‌تواند کد را دریافت کند، کامپایل کند، تست‌ها را اجرا کند، خروجی را بسته‌بندی کند و در نهایت روی سرور تست یا تولید مستقر کند. همهٔ این مراحل در قالب job یا pipeline تعریف می‌شوند و تاریخچه و گزارش هر اجرا در رابط وب باقی می‌ماند.

مخاطب اصلی Jenkins تیم‌های توسعه‌ای هستند که فرایند انتشارشان از چند دستور دستی فراتر رفته است: شرکت‌هایی با چند پروژهٔ Java‏، PHP‏، Node یا ‎.NET، تیم‌هایی که اپ موبایل build می‌کنند، یا سازمان‌هایی که کدشان در سرویس‌های خارجی نیست و ابزار CI داخلی می‌خواهند. نقطهٔ قوت Jenkins انعطاف است؛ با افزونه‌ها تقریباً به هر مخزن کد، سیستم پیام‌رسانی و مقصد استقراری وصل می‌شود.

Jenkins برای پروژهٔ کوچک تک‌نفره ممکن است سنگین باشد؛ نگه‌داری افزونه‌ها و به‌روزرسانی‌ها وقت می‌گیرد. اگر فقط چند اسکریپت ساده بعد از هر push لازم دارید، یک ابزار سبک‌تر مثل Woodpecker CI کار را با پیکربندی کمتری انجام می‌دهد.

سناریوهای واقعی استفاده از Jenkins

کارهایی که تیم‌ها معمولاً در هفتهٔ اول به Jenkins می‌سپارند:

  • build و تست خودکار هر push یا merge request و گزارش نتیجه در صفحهٔ job
  • pipeline چندمرحله‌ای با Jenkinsfile: build، تست واحد، تحلیل کد، بسته‌بندی و استقرار
  • استقرار خودکار روی سرور ابری تست یا تولید با SSH یا rsync
  • job‌های زمان‌بندی‌شده مثل build شبانه، پاک‌سازی دوره‌ای یا اجرای اسکریپت گزارش‌گیری
  • build اپ اندروید یا وب و نگه‌داری فایل خروجی به‌عنوان artifact برای دانلود تیم
  • اعلان نتیجه با ایمیل یا افزونه‌های پیام‌رسان برای تیم

بازگشت به فهرست مطالب

نصب یک‌کلیک ما دقیقاً چه چیزی می‌سازد؟

پس از روشن‌شدن سرور، اسکریپت نصب ما Java 21 نسخهٔ headless را از مخزن Ubuntu نصب می‌کند (اگر در دسترس نباشد Java 17)، مخزن رسمی نسخهٔ پایدار Jenkins یعنی شاخهٔ LTS را با کلید امضای خودش اضافه می‌کند و بستهٔ jenkins را نصب و به‌صورت سرویس systemd فعال می‌کند. سپس منتظر می‌ماند تا Jenkins بالا بیاید و رمز اولیهٔ مدیر ساخته شود.

در پایان، قانون ورودی پورت ۸۰۸۰ در فایروال سرور اضافه و فایروال فعال می‌شود؛ یعنی از بیرون فقط همین پورت برای Jenkins باز است و هر پورت دیگری را که لازم دارید خودتان از تب فایروال سرور اضافه می‌کنید. اطلاعات ورود در تب «اپلیکیشن» صفحهٔ سرور نمایش داده می‌شود.

موردمقدار در نصب مانکته
سیستم‌عاملUbuntu 24.04خودکار انتخاب می‌شود
نسخهٔ JenkinsLTS از مخزن رسمیبا apt به‌روزرسانی می‌شود
JavaOpenJDK 21 (یا 17)نسخهٔ headless بدون رابط گرافیکی
آدرس پنلhttp‏، IP سرور، پورت ۸۰۸۰در تب اپلیکیشن
رمز اولیهinitialAdminPasswordفقط برای باز کردن قفل ویزارد راه‌اندازی
پوشهٔ داده/var/lib/jenkinsjobها، افزونه‌ها و تاریخچه
افزونه‌ها و Dockerنصب نمی‌شونددر ویزارد راه‌اندازی انتخاب می‌کنید

بازگشت به فهرست مطالب

هزینهٔ Jenkins: فقط سرور، بدون هزینهٔ نصب

برای نصب Jenkins مبلغی جدا دریافت نمی‌کنیم و خود Jenkins هم رایگان است. هنگام ساخت سرور هزینهٔ ساعت اول پلن از کیف پول کم می‌شود و پس از آن هر ساعت؛ هر وقت سرور را حذف کنید، محاسبه متوقف می‌شود. چون Jenkins با Java اجرا می‌شود و حافظهٔ قابل‌توجهی می‌گیرد، این اپلیکیشن فقط روی پلن standard و بالاتر قابل انتخاب است.

اندازهٔ مناسب بیشتر به build‌ها بستگی دارد تا خود Jenkins. اگر Jenkins فقط هماهنگ‌کننده است و build‌ها روی agent جدا اجرا می‌شوند، standard کافی است. اگر کامپایل و تست روی همین سرور انجام می‌شود، plus یا pro زمان build را کوتاه‌تر و خطای کمبود حافظه را نادر می‌کند. برای جمع‌زدن هزینهٔ چند سرور از ماشین‌حساب هزینه استفاده کنید.

پلنمنابعساعتی (تومان)تقریبی ماهانه (تومان)
standard۲ هسته، ۲ گیگ RAM، ۴۰ گیگ دیسک۲٬۲۰۰۱٬۶۰۶٬۰۰۰
plus۲ هسته، ۴ گیگ RAM، ۸۰ گیگ دیسک۳٬۵۰۰۲٬۵۵۵٬۰۰۰
pro۴ هسته، ۸ گیگ RAM، ۱۶۰ گیگ دیسک۶٬۵۰۰۴٬۷۴۵٬۰۰۰

بازگشت به فهرست مطالب

Jenkins روی سرور خودتان در برابر گزینه‌های دیگر

هر ابزار CI برای نوع خاصی از تیم ساخته شده است. این جدول تفاوت‌های عملی را نشان می‌دهد:

موضوعJenkins روی سرور شماWoodpecker روی سرور شماCI ابری خارجی
تعریف pipelineJenkinsfile با Groovy یا رابط وبفایل YAMLفایل YAML
افزونه و یکپارچگیبسیار گستردهمحدودتروابسته به سرویس
اجرای buildروی سرور یا agent‌های شماداخل ایمیج Dockerروی سرورهای سرویس‌دهنده
محل نگه‌داری کد و secret‌هاسرور شماسرور شماخارج از کنترل شما
هزینهٔ نگه‌داریبیشترکمنزدیک به صفر

اگر بیشتر به خود مخزن کد نیاز دارید تا CI، صفحهٔ Gitea را ببینید؛ Gitea با webhook به Jenkins وصل می‌شود.

بازگشت به فهرست مطالب

از سفارش تا اولین pipeline

کل مسیر از پنل و مرورگر انجام می‌شود:

  1. کیف پول را شارژ کنید و به سفارش سرور ابری بروید
  2. پلن standard یا بالاتر را انتخاب کنید و در تب اپلیکیشن‌ها Jenkins را برگزینید
  3. بعد از ساخت سرور، در تب «اپلیکیشن» منتظر وضعیت نصب موفق بمانید
  4. آدرس روی پورت ۸۰۸۰ را باز و initialAdminPassword را وارد کنید
  5. افزونه‌های پیشنهادی را نصب و کاربر مدیر شخصی بسازید
  6. یک Multibranch Pipeline بسازید و آدرس مخزن و credential دسترسی را بدهید

نصب اپلیکیشن فقط هنگام ساخت سرور انتخاب می‌شود؛ روی سروری که قبلاً ساخته‌اید فعلاً از پنل نصب نمی‌شود.

بازگشت به فهرست مطالب

امنیت Jenkins: رمزها، دسترسی و HTTPS

Jenkins به کد، secret‌ها و سرورهای تولید شما دسترسی دارد؛ پس هدف جذابی برای نفوذ است. اولین قدم این است که بعد از ویزارد راه‌اندازی هیچ حساب مشترکی نماند: برای هر نفر کاربر جدا بسازید و در Manage Jenkins → Security استراتژی مجوز را طوری تنظیم کنید که کاربران ناشناس هیچ دسترسی نداشته باشند. رمزها و کلیدهای SSH را فقط در بخش Credentials نگه دارید و هرگز داخل Jenkinsfile ننویسید.

پنل پیش‌فرض روی http باز است. برای کار واقعی، روی سرور یک nginx بگذارید که پورت ۸۰ را به 127.0.0.1:8080 برساند، پورت ۸۰ را در فایروال شبکه یا تب فایروال سرور باز کنید و زیردامنه‌ای مثل ci.example.com را در مدیریت DNS پشت پروکسی لبه قرار دهید تا اتصال با گواهی SSL رمزگذاری شود. بعد از آن می‌توانید قانون پورت ۸۰۸۰ را به IP دفتر محدود کنید.

افزونه‌ها بزرگ‌ترین منبع آسیب‌پذیری Jenkins هستند. فقط افزونه‌هایی را نصب کنید که لازم دارید، هشدارهای امنیتی صفحهٔ مدیریت را جدی بگیرید و Jenkins را با apt به‌روز نگه دارید.

بازگشت به فهرست مطالب

بکاپ و انتقال Jenkins به سرور دیگر

همهٔ وضعیت Jenkins در یک پوشه است: /var/lib/jenkins. فایل‌های config.xml، تعریف jobها، افزونه‌ها، credential‌های رمزگذاری‌شده و تاریخچهٔ build‌ها همین‌جا هستند. ساده‌ترین بکاپ، بکاپ کامل سرور از تب بکاپ پنل است که دستی و هر وقت بخواهید ساخته می‌شود و فضای آن ساعتی ۲ تومان به ازای هر گیگابایت حساب می‌شود؛ جزئیات در صفحهٔ پشتیبان‌گیری. پیش از هر به‌روزرسانی بزرگ یک نسخه بگیرید.

برای انتقال از Jenkins دیگری، سرویس را در مبدأ متوقف کنید، پوشهٔ JENKINS_HOME را بدون workspace فشرده کنید و روی سرور جدید در /var/lib/jenkins باز کنید، مالکیت فایل‌ها را به کاربر jenkins برگردانید و سرویس را راه بیندازید. نسخهٔ Jenkins مقصد نباید از مبدأ قدیمی‌تر باشد. خروجی‌های بزرگ build را هم می‌توانید در فضای ذخیره‌سازی ابری نگه دارید تا دیسک سرور پر نشود.

بازگشت به فهرست مطالب

محدودیت‌هایی که پیش از شروع باید بدانید

از سمت ما: نصب یک‌کلیک فقط هستهٔ Jenkins و Java را نصب می‌کند؛ افزونه، Docker‏، agent و تنظیم HTTPS با شماست. سرور تک‌نودی است و دسترس‌پذیری بالا یا failover خودکار برای Jenkins ارائه نمی‌شود. بکاپ خودکار زمان‌بندی‌شده هم برای سرورهای ابری فعال نیست و نسخهٔ پشتیبان را خودتان می‌سازید.

از سمت Jenkins: پیکربندی‌هایی که فقط از رابط وب ساخته می‌شوند به‌مرور قابل ردیابی نیستند؛ تا جایی که می‌شود pipeline‌ها را در Jenkinsfile و داخل مخزن نگه دارید. پلن‌های سرور ابری GPU ندارند، پس build‌های وابسته به GPU را باید جای دیگری اجرا کنید.

بازگشت به فهرست مطالب بازگشت به ابتدای راهنما

پرسش و پاسخ،  ۱۰ پرسش

سؤالات متداول

پاسخ پرسش خود را پیدا نکردید؟ با پشتیبانی در تماس باشید.

Jenkins‏، GitLab CI یا Woodpecker؛ کدام را انتخاب کنم؟
Jenkins مستقل از محل نگه‌داری کد است و با هزاران افزونه تقریباً به هر سیستم build و استقرار وصل می‌شود؛ هزینه‌اش نگه‌داری افزونه‌ها و پیکربندی بیشتر است. GitLab CI فقط وقتی منطقی است که کد هم در GitLab باشد. Woodpecker سبک و مبتنی بر Docker است و کنار Gitea خوب کار می‌کند، اما اکوسیستم افزونه‌ای Jenkins را ندارد.
چقدر RAM برای Jenkins لازم است؟
حداقل پذیرفته در فهرست اپلیکیشن‌ها دو گیگابایت است که برای خود Jenkins و چند job سبک کافی است. اگر کامپایل Java یا Node، اجرای تست‌های سنگین یا چند build هم‌زمان روی همین سرور دارید، پلن plus با چهار گیگابایت یا pro با هشت گیگابایت تجربهٔ روان‌تری می‌دهد.
افزونه‌ها از کجا دانلود می‌شوند؟
نصب ما فقط هستهٔ Jenkins را از مخزن رسمی pkg.jenkins.io نصب می‌کند و هیچ افزونه‌ای از پیش نصب نیست. افزونه‌ها را در ویزارد راه‌اندازی اول یا بعداً از Manage Jenkins → Plugins از update center رسمی Jenkins دریافت می‌کنید.
Pipeline و Jenkinsfile پشتیبانی می‌شود؟
بله، به شرطی که در ویزارد راه‌اندازی افزونه‌های پیشنهادی را نصب کنید؛ مجموعهٔ Pipeline و Git جزو همین فهرست‌اند. سپس یک Jenkinsfile در ریشهٔ مخزن می‌گذارید و با یک Multibranch Pipeline همهٔ شاخه‌ها خودکار شناسایی و build می‌شوند.
آیا Docker برای build آماده است؟
نه. اسکریپت نصب ما Docker و افزونهٔ Docker را نصب نمی‌کند. اگر می‌خواهید stage‌ها داخل ایمیج Docker اجرا شوند، Docker را خودتان نصب کنید، کاربر jenkins را به گروه docker اضافه کنید و افزونهٔ Docker Pipeline را از مدیریت افزونه‌ها بگیرید.
بکاپ Jenkins را چطور بگیرم؟
تمام وضعیت Jenkins در پوشهٔ /var/lib/jenkins است: پیکربندی، jobها، افزونه‌ها، credential‌ها و تاریخچهٔ build‌ها. یک بکاپ کامل سرور را از تب بکاپ پنل بسازید و برای نسخهٔ سبک‌تر، این پوشه را بدون زیرپوشه‌های workspace به‌صورت دوره‌ای فشرده و به فضای جدا منتقل کنید.
هزینهٔ نصب Jenkins چقدر است؟
نصب یک‌کلیک هزینهٔ جداگانه ندارد و Jenkins هم متن‌باز و رایگان است؛ فقط سرور ابری را ساعتی از کیف پول می‌پردازید. کوچک‌ترین پلن قابل انتخاب standard است با ۲٬۲۰۰ تومان در ساعت و پلن plus ۳٬۵۰۰ تومان در ساعت.
رمز initialAdminPassword را کجا ببینم؟
در صفحهٔ سرور، تب «اپلیکیشن» مقدار initial_admin_password را پشت دکمهٔ «نمایش» نشان می‌دهد. اگر Jenkins هنگام پایان نصب هنوز فایل رمز را نساخته بود، به‌جای رمز عبارت not-yet-generated می‌آید؛ در آن صورت با SSH وارد شوید و فایل /var/lib/jenkins/secrets/initialAdminPassword را بخوانید.
چطور Jenkins را با دامنه و HTTPS باز کنم؟
Jenkins روی پورت ۸۰۸۰ و با http گوش می‌دهد و پروکسی لبهٔ ایران‌کلاد به پورت ۸۰ سرور وصل می‌شود. پس روی سرور یک nginx نصب کنید که درخواست‌های پورت ۸۰ را به 127.0.0.1:8080 بفرستد، پورت ۸۰ را در فایروال سرور باز کنید، زیردامنه را در DNS به سرور اشاره دهید و پروکسی را برایش روشن کنید تا گواهی SSL خودکار صادر شود.
build agent جدا لازم دارم؟
برای شروع نه؛ executor‌های خود سرور کافی‌اند. اما توصیهٔ رسمی Jenkins این است که build‌ها روی agent جدا اجرا شوند تا کد ناامن یا یک build پرمصرف سرور اصلی را از کار نیندازد. یک سرور ابری دوم را با SSH یا اتصال WebSocket روی همان پورت ۸۰۸۰ به‌عنوان agent وصل کنید.

پاسخ پرسش خود را پیدا نکردید؟ با پشتیبانی در تماس باشید.

build‌های تیم را خودکار کنید

پلن standard یا بالاتر را انتخاب کنید، Jenkins را در تب اپلیکیشن‌ها برگزینید و چند دقیقه بعد قفل آن را باز کنید.

از ۲٬۲۰۰ تومان / ساعت،حدود ۱٬۶۰۶٬۰۰۰ تومان در ماه