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 দরকার?
-
Build ও Release ধাপকে আলাদা করার জন্য
Build Pipeline Artifact তৈরি করে, Release Pipeline সেই Artifact ব্যবহার করে। -
Version Control ও Traceability
Artifact সংরক্ষণ করে রাখা যায়, যাতে ভবিষ্যতে জানা যায় কোন Build থেকে কোন Release হয়েছে। -
Repeatable Deployment
একই Artifact বারবার বিভিন্ন পরিবেশে (Dev, QA, Prod) Deploy করা যায়।
📦 উদাহরণ:
ধরা যাক আপনি একটি .NET অ্যাপ্লিকেশন Build করছেন। Build Pipeline শেষে .dll ফাইল তৈরি হলো। এই .dll ফাইলটাই হলো Artifact, যেটা Release Pipeline ব্যবহার করে Production সার্ভারে Deploy করবে।