تغییرات اخیر

در اینجا اطلاعیه‌ها، نسخه‌ها و تغییرات جدید لیارا فهرست می‌شوند.

نحوه نصب jenkins در اوبونتو 22.04


۲۳ اردیبهشت ۱۴۰۴

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

برای درک بهتر Jenkins، فرض کنید چندین برنامه‌نویس در یک تیم دارید که باید روی یک پروژه به‌صورت آنلاین و همزمان کار کنند. اگر هر کدام از اعضای تیم به‌طور جداگانه بر روی پروژه نظارت کنند، ممکن است نتیجه کار به‌خوبی پیش نرود و با مشکلاتی مثل باگ‌ها و خطاهای مختلف مواجه شوید. در این حالت، برای رفع این مشکلات باید چندین روز وقت صرف کنید تا بتوانید همه چیز را مثل روز اول درست کنید! برای چنین چالش‌هایی می‌تونید از Jenkins برای پیاده‌سازی یک فرآیند CI/CD خودکار استفاده کنید. در این آموزش، نحوه نصب Jenkins روی اوبونتو 22.04 را یاد خواهید گرفت. تا پایان همراه ما باشید.

نحوه نصب jenkins در اوبونتو 22.04

پیش‌نیازها

برای درک بهتر این آموزش، به موارد زیر نیاز دارید:

در ادامه می‌خوانید:

  • مرحله اول: نصب Jenkins
  • مرحله دوم: راه اندازی Jenkins
  • مرحله سوم: باز کردن پورت فایروال
  • مرحله چهارم: پیکربندی Jenkins
  • جمع‌بندی
  • سوالات متداول

مرحله اول: نصب Jenkins

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

بنابراین، برای اضافه کردن کلید مخزن Jenkins به سیستم خود، دستور زیر را وارد کنید:

wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key |sudo gpg --dearmor -o /usr/share/keyrings/jenkins.gpg

در دستور بالا، برای تبدیل کلید GPG به فرمت قابل شناسایی توسط apt، از دستور gpg --dearmor استفاده می‌شود.

حالا باید آدرس مخزن پکیج‌های دبیان Jenkins را به فایل sources.list سرورتان اضافه کنید:

sudo sh -c 'echo deb [signed-by=/usr/share/keyrings/jenkins.gpg] http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'

برای اطمینان از اینکه apt فایل‌های موجود در مخزن Jenkins را با استفاده از کلید GPG که دانلود کردید، بررسی می‌کند، باید قسمت [signed-by=/usr/share/keyrings/jenkins.gpg] را به مخزن اضافه کنید:

اضافه کردن مخزن Jenkins به همراه کلید GPG

برای اضافه کردن آدرس مخزن همراه با گزینه signed-by که اشاره به کلید GPG دانلود شده دارد، دستور زیر را وارد کنید:

echo "deb [signed-by=/usr/share/keyrings/jenkins.gpg] http://pkg.jenkins.io/debian/ stable main" | sudo tee -a /etc/apt/sources.list

بروزرسانی مخازن

حالا که مخزن جدید به فایل sources.list اضافه شده، باید از دستور apt update برای به‌روزرسانی مخازن استفاده کنید تا سیستم شما از مخزن جدید استفاده کند:

sudo apt update

این‌کار باعث می‌شود، سیستم شما از مخزن رسمی Jenkins پشتیبانی کند و بتوانید به آخرین نسخه پکیج‌ها دسترسی داشته باشید.

نصب Jenkins و وابستگی‌هایش

برای نصب Jenkins و وابستگی‌های آن، کافی‌ست دستور زیر را وارد کنید:

sudo apt install jenkins

حالا Jenkins با تمام وابستگی‌هایش نصب روی سرور مجازی اوبونتو نصب شده است.

برای آشنایی کامل با نحوه راه‌اندازی Docker Compose از طریق Ansible در اوبونتو، مقاله زیر را از دست ندهید.
راه‌اندازی Docker Compose از طریق Ansible

مرحله دوم: راه اندازی Jenkins

در این مرحله برای اطمینان از این که Jenkins به‌درستی نصب شده، می‌توانید وضعیت سرویس Jenkins را با دستور زیر چک کنید:

sudo systemctl status jenkins

اگر Jenkins به‌درستی نصب شده باشد، خروجی شبیه این خواهید داشت:

● jenkins.service - Jenkins Continuous Integration Server
   Loaded: loaded (/etc/systemd/system/jenkins.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2024-03-30 12:30:00 UTC; 1h 25min ago
     Docs: https://www.jenkins.io/doc/
 Main PID: 12345 (java)
    Tasks: 50 (limit: 4915)
   Memory: 2.5G
   CGroup: /system.slice/jenkins.service
           └─12345 /usr/bin/java -jar /usr/share/jenkins/jenkins.war

Mar 30 12:30:00 your-server-name systemd[1]: Started Jenkins Continuous Integration Server.

برای دسترسی به Jenkins از طریق مرورگر وب و تکمیل مراحل تنظیمات اولیه، باید قوانین فایروال سرور خود را به‌گونه‌ای تنظیم کنید که پورت مورد نیاز برای Jenkins (پورت پیش‌فرض 8080) باز باشد.

برای آشنایی کامل با انسیبل و ویژگی‌های آن، مقاله زیر را مطالعه کنید.
Ansible چیست؟

مرحله سوم: باز کردن پورت فایروال

برای تنظیم فایروال UFW و باز کردن پورت 8080 (که به‌طور پیش‌فرض برای Jenkins استفاده می‌شود)، مراحل زیر را دنبال کنید:

برای باز کردن پورت 8080 با استفاده از ufw، دستور زیر را وارد کنید:

sudo ufw allow 8080

اگر می‌خواهید فقط از آدرس‌های خاصی به پورت 8080 دسترسی داشته باشید، می‌توانید قوانین دقیق‌تری تنظیم کنید.

برای مثال، برای اجازه دسترسی فقط از یک آدرس IP خاص:

sudo ufw allow from <your_ip_address> to any port 8080

به جای <your_ip_address>, آدرس IP خود را وارد کنید.

وضعیت فایروال و قوانین فعال را با دستور زیر بررسی کنید:

sudo ufw status

خروجی باید مشابه به این باشد که پورت 8080 باز است:

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
8080                       ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
8080 (v6)                  ALLOW       Anywhere (v6)

تا اینجا، Jenkins نصب شده و فایروال تنظیم شده، شما مراحل نصب را به‌طور کامل انجام دادید.

همین الان، بدون کمترین پیچیدگی، سرور مجازی خودتون رو در کمتر از ۳۰ ثانیه، راه‌اندازی کنید.
✅ عملکرد پایدار ✅ ترافیک نامحدود ✅ هزینه به‌صرفه
خرید سرور مجازی ابری

مرحله چهارم: پیکربندی Jenkins

در این مرحله، برای راه‌اندازی Jenkins، به آدرس پیش‌فرض آن روی پورت 8080 با استفاده از نام دامنه یا آدرس IP سرور خود بروید: http://your_server_ip_or_domain:8080

در این مرحله، صفحه Unlock Jenkins را خواهید دید که محل کلمه عبور اولیه را برای شما نشان می‌دهد:

پیکربندی Jenkins

در پنجره ترمینال، از دستور cat برای نمایش کلمه عبور استفاده کنید:

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

کلمه عبور32 کاراکتری حروف و اعداد را از ترمینال کپی کرده و در فیلد Administrator password قرار دهید، سپس روی گزینه Continue کلیک کنید.

در صفحه بعدی، گزینه‌ای برای نصب پلاگین‌های پیشنهادی یا انتخاب پلاگین‌های خاص نمایش داده می‌شود.

 پیکربندی Jenkins

در این صفحه، گزینه Install suggested plugins را انتخاب می‌کنیم، که فرآیند نصب پلاگین‌ها را بلافاصله آغاز کند.

پیکربندی jenkins

زمانی که نصب کامل شد، از شما خواسته می‌شود که اولین کاربر مدیر را تنظیم کنید.

شما می‌توانید این مرحله را نادیده بگیرید و با استفاده از کلمه عبور اولیه که قبلاً دریافت کردید به‌عنوان مدیر ادامه دهید، اما ما کمی وقت می‌گذاریم تا کاربر را ایجاد کنیم.

پیکربندی jenkins

نام و کلمه‌عبور برای کاربر خود وارد کنید:

پیکربندی jenkins

پس از آن، صفحه‌ای به نام Instance Configuration نمایش داده می‌شود که از شما می‌خواهد تا URL مورد نظر برای نمونه Jenkins خود را تأیید کنید.

دراینجا باید نام دامنه سرور یا آدرس IP سرور خود را تأیید کنید.

پیکربندی jenkins

پس از تأیید اطلاعات‌تان، روی گزینه Save and Finish کلیک کنید. سپس صفحه‌ای برای تأیید دریافت خواهید کرد که نوشته !Jenkins is Ready را نمایش می‌دهد:

پیکربندی jenkins

روی گزینه Start using Jenkins کلیک کنید تا به داشبورد اصلی Jenkins منتقل شوید.

 پیکربندی jenkins

تبریک:) در این مرحله، شما Jenkins با موفقیت‌ روی سرور مجازی اوبونتو نصب کردید.

جمع‌بندی

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

برای آشنایی کامل با کوبرنتیز (Kubernetes) و چگونگی کارکرد آن، مقاله زیر را از دست ندهید.
کوبرنتیز (Kubernetes) چیست؟

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

Jenkins چیست و چه کاربردهایی دارد؟

Jenkins یک ابزار متن‌باز برای اتوماسیون فرایندهای یکپارچه‌سازی مداوم (CI) و تحویل مداوم (CD) است. این ابزار به شما کمک می‌کند تا فرایندهای ساخت، تست، و استقرار نرم‌افزار را خودکار کنید.

تفاوت Ansible و Jenkins در چیست؟

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

Jenkins فقط برای کارهای اوتوماسیون مناسب است؟

بله؛ اکثریت کاربرد های آن برای کارهای اوتوماسیون می‌باشد.

آیا ارزیابی پروژه را تنها با Jenkins می‌تواند انجام داد؟

بله، هر عملیاتی که با Jenkins انجام شود، برای بهبود و ارزیابی پروژه مفید واقع می‌شود.

به اشتراک بگذارید