Sunday, November 2, 2025

CI/CD

 

Pipeline (Build Pipeline) কী?

Pipeline মূলত কোড বিল্ড এবং টেস্ট করার জন্য ব্যবহৃত হয়। এটি Continuous Integration (CI) এর অংশ।

✅ কাজগুলো:

  • কোড compile করে
  • Unit test চালায়
  • NuGet restore করে
  • Build output তৈরি করে (যেমন .dll, .exe, .zip)
  • Artifact তৈরি করে

📦 উদাহরণ:

আপনি যখন GitHub থেকে কোড push করেন, তখন pipeline trigger হয় এবং আপনার অ্যাপ্লিকেশন build ও test হয়।


🚀 Release (Release Pipeline) কী?

Release pipeline মূলত build হওয়া artifact কে বিভিন্ন environment-এ deploy করার জন্য ব্যবহৃত হয়। এটি Continuous Deployment (CD) এর অংশ।

✅ কাজগুলো:

  • Build pipeline থেকে artifact নেয়
  • Dev, QA, UAT, Production environment-এ deploy করে
  • Approval flow সেট করা যায় (যেমন: QA approve করলে Production-এ যাবে)
  • Deployment automation করা যায় (Azure App Service, IIS, Kubernetes ইত্যাদি)

📦 উদাহরণ:

আপনার EWI অ্যাপ GitHub থেকে build হয়ে গেলে, Release pipeline সেট করা যায় যাতে সেটা Azure App Service বা IIS server-এ deploy হয়।


🎯 Artifact কী? (বাংলায়)

Artifact হলো এমন একটি ফাইল বা ফাইলসমষ্টি যা Build Pipeline-এর শেষে তৈরি হয় এবং পরবর্তী ধাপে (যেমন: Release বা Deployment) ব্যবহৃত হয়।

এটি সাধারণত নিম্নলিখিত জিনিস হতে পারে:

  • Compiled binaries (যেমন .dll, .exe)
  • Package files (যেমন .zip, .tar.gz, .nupkg)
  • Configuration files
  • Documentation
  • Container images (যেমন Docker image)

✅ কেন Artifact দরকার?

  1. Build ও Release ধাপকে আলাদা করার জন্য
    Build Pipeline Artifact তৈরি করে, Release Pipeline সেই Artifact ব্যবহার করে।

  2. Version Control ও Traceability
    Artifact সংরক্ষণ করে রাখা যায়, যাতে ভবিষ্যতে জানা যায় কোন Build থেকে কোন Release হয়েছে।

  3. Repeatable Deployment
    একই Artifact বারবার বিভিন্ন পরিবেশে (Dev, QA, Prod) Deploy করা যায়।


📦 উদাহরণ:

ধরা যাক আপনি একটি .NET অ্যাপ্লিকেশন Build করছেন। Build Pipeline শেষে .dll ফাইল তৈরি হলো। এই .dll ফাইলটাই হলো Artifact, যেটা Release Pipeline ব্যবহার করে Production সার্ভারে Deploy করবে।

CI/CD

  Pipeline (Build Pipeline) কী? Pipeline মূলত কোড বিল্ড এবং টেস্ট করার জন্য ব্যবহৃত হয়। এটি Continuous Integration (CI) এর অংশ। ✅ কাজগুলো...