Ad Code

Responsive Advertisement

CI, CD and Jenkins

CI এবং CD কী?
শব্দ পূর্ণরূপ মানে
CI Continuous Integration বারবার কোড চেঞ্জ করে টেস্ট ও বিল্ড করে অটোমেটেডভাবে
CD Continuous Delivery / Continuous Deployment কোড টেস্টে পাশ করলে সেটিকে প্রোডাকশন সার্ভারে পৌঁছে দেওয়া


🧪 CI (Continuous Integration) — কী ও কেন?
CI মানে হলো —
"যখনই কোডে পরিবর্তন হবে (যেমন Git push), তখনই Jenkins বা অন্য টুল সেই কোড অটোমেটেডভাবে টেস্ট ও বিল্ড করবে।"

🔧 এর ফলে:
  • টিমে অনেক ডেভেলপার একসাথে কাজ করলেও কোনো বাগ আগেই ধরা পড়ে
  • ভুল কোড প্রোডাকশনে যায় না

✅ উদাহরণ:
তুমি GitHub এ কোড push করলে Jenkins:
  • কোড টানে
  • npm install, mvn clean install, বা যেকোনো build command চালায়
  • Unit test চালায়
  • ফলাফল দেখায় (সফল/ব্যর্থ)

🚚 CD (Continuous Delivery / Deployment) — কী ও পার্থক্য?
CD-র দুইটা রূপ আছে:
1. Continuous Delivery:
  • সবকিছু (Build, Test) সফল হলে কোড ডিপ্লয়ের জন্য প্রস্তুত থাকে
  • কিন্তু ম্যানুয়ালি "Deploy" চাপতে হয়

2. Continuous Deployment:
  • সব টেস্টে পাশ করলে স্বয়ংক্রিয়ভাবে প্রোডাকশন সার্ভারে ডিপ্লয় হয়ে যায়
  • কোন ম্যানুয়াল ধাপ লাগে না

🔁 CI/CD এর সহজ জীবনচক্র

কোড লেখা → GitHub এ Push → Jenkins টেস্ট করে → (সফল হলে) Deploy করে


🎯 কেন শিখবো CI/CD?
✅ সময় বাঁচায়
✅ মান নিশ্চিত করে (Quality assurance)
✅ প্রোডাকশনে কোড পাঠানোর ঝামেলা কমায়
✅ DevOps এর মূল ভিত্তি

🛠️ Jenkins কী?
Jenkins হলো একটি ওপেন-সোর্স অটোমেশন সার্ভার, যা মূলত Continuous Integration (CI) এবং Continuous Delivery (CD) এর জন্য ব্যবহৃত হয়।

💡 Jenkins দিয়ে কী করা যায়?
  • কোড বিল্ড (Build automation)
  • ইউনিট টেস্ট রান করা
  • সফটওয়্যার ডেপ্লয়মেন্ট (deployment)
  • বিভিন্ন সিস্টেমের সাথে ইন্টিগ্রেশন (Git, Docker, Maven ইত্যাদি)
  • Cron job এর মতো কাজের সময় নির্ধারণ করে চালানো

Post a Comment

0 Comments

Close Menu