What is jenkins

  • Jenkins یکی از ابزارهای حوزه‌ی CI-CD می‌باشد.
  • Jenkins ساختار CI-CD را برای ما پیاده‌سازی می‌کند.
  • این که CI-CD چیست و چرا باید برای پیشبرد یک پروژه از ابزارهای CI-CD استفاده شود در این مستند توضیح داده شده است.
  • به طور کلی :
  • Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software.
  • فرض کنید یک پروژه در اختیار دارید که شامال چندین برنامه نویس و مدیر سیستم است.
  • همچنین این پروژه دارای بخش‌های مختلف Backend و Frontend می‌باشد و نیاز است تا مراحل تست و توسعه به صورت یکپارچه ، مرتب و منظم پیش رود.
  • در این حالت از ابزارهایی مثل Jenkins استفاده می‌شود.

  • به عنوان مثال نقل قل زیر را از یک برنامه نویسی جاوا در نظر بگیرید تا کمی با این ابزار آشنا شوید.
  • کلیت داستان اینه که یک برنامه به زبان جاوا داریم که بر روی گیت هاب قرار داره. میخوایم زمانی که ما یک کامیت رو به برنچِ master ، پوش (push) می کنیم، Jenkins بفهمه و یه سری کار ها رو برامون انجام بده :
    • اول کد رو از روی گیت هاب pull کنه
    • پروژه رو برامون پکیج کنه (اینجا که برنامه جاوایی هست، فایل WAR رو برامون بسازه)
    • ایمیج داکر مربوط به پروژه رو برامون بسازه
    • از روی ایمیج مون یه کانتینر ایجاد کنه و اون رو اجرا کنه(در اینجا یک instance از Tomcat برامون اجرا کنه)
    • البته مراحل بالا مراحلی بود که خودم تعریف کردم و شما طبق نیازتون میتونین مراحل دیگه ای مثل تست کردن، push کردن ایمیج داکر به Dockerhub و … رو تعریف کنین.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *