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 করবে।

No comments:

Post a Comment

CI/CD

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