CI/CD এবং ডেভঅপস অটোমেশন
Docker, GitHub Actions, Nginx—একটা ইন্সট্রাকশন দিয়ে প্রোডাকশন-গ্রেড কনফিগ জেনারেট করুন
DevOps কনফিগারেশন, প্রতিবার একটা দুঃস্বপ্ন
GitHub Actions এর YAML ইন্ডেন্ট এক স্থান ভুল, পুরো pipeline ভেঙে যায়। এরর মেসেজ শুধু "syntax error", তোমাকে কয়েকশো লাইন YAML এ সেই অতিরিক্ত স্পেস খুঁজতে হবে।
"আমার লোকালে তো ঠিক চলছে" —— ক্লাসিক বাক্য। Docker ইমেজ ভার্সন ভুল, এনভায়রনমেন্ট ভেরিয়েবল ঠুকিয়ে দেওয়া হয়নি, পোর্ট ম্যাপিং উল্টানো, প্রতিটি ডিপ্লয়মেন্ট একটা ঝুঁকিপূর্ণ কাজ।
Nginx কনফিগ নেট থেকে কপি করেছেন, HTTPS সার্টিফিকেট কাজ করছে না, রিভার্স প্রক্সি 502, অ্যাক্সেস লগ দেখলে সব 404। তিন ঘণ্টা ঝামেলা করে বুঝলেন proxy_pass এ একটা স্ল্যাশ ছিল না।
OpenClaw আপনাকে প্রোডাকশন-গ্রেড কনফিগ জেনারেট করে দেয়
OpenClaw আপনার প্রজেক্ট স্ট্রাকচার বিশ্লেষণ করে—কোন ভাষা, কোন ফ্রেমওয়ার্ক, কোন সার্ভিস দরকার, কোন এনভায়রনমেন্ট ভেরিয়েবল, তারপর টার্গেটেড কনফিগ জেনারেট করে।
জেনারেট করা Dockerfile শুধু random latest ইমেজ টানা নয়। মাল্টি-স্টেজ বিল্ড, ইমেজ স্লিমিং, সিকিউরিটি বেস্ট প্র্যাকটিস, সব কিছু আগেই চিন্তা করা।
GitHub Actions এর workflow ও শুধু npm test চালানো নয়। ক্যাশিং স্ট্র্যাটেজি, প্যারালাল টাস্ক, শর্তসাপেক্ষ ডিপ্লয়মেন্ট, Secret ম্যানেজমেন্ট, প্রোডাকশন পরিবেশে যা দরকার সব আছে। সবচেয়ে গুরুত্বপূর্ণ—জেনারেট করা YAML ইন্ডেন্ট কখনো ভুল হবে না।
DevOps Prompt, কপি করে ব্যবহার করুন
Docker, CI/CD, Nginx তিনটো বেসিক, প্রতিটাই প্রোডাকশন-গ্রেড কনফিগ।
এই Node.js প্রজেক্ট বিশ্লেষণ করুন, সম্পূর্ণ Docker কনফিগ জেনারেট করুন:
Dockerfile রিকোয়ারমেন্ট:
1. মাল্টি-স্টেজ বিল্ড (builder + production)
2. Alpine বেস ইমেজ ব্যবহার করুন, ফাইনাল ইমেজ যতটা সম্ভব ছোট
3. নন-root ইউজার দিয়ে রান করুন
4. ক্যাশ লেয়ার ঠিকমতো ব্যবহার করুন (আগে COPY package.json তারপর npm install)
5. healthcheck যোগ করুন
docker-compose.yml রিকোয়ারমেন্ট:
1. অ্যাপ্লিকেশন সার্ভিস + ডাটাবেস (PostgreSQL) + Redis
2. dev এবং prod এনভায়রনমেন্ট আলাদা করুন (profiles বা override ফাইল ব্যবহার করে)
3. ডেটা ভলিউম পার্সিস্ট করুন
4. নেটওয়ার্ক আইসোলেশন
5. এনভায়রনমেন্ট ভেরিয়েবল .env ফাইলে রাখুন
.dockerignore এবং প্রয়োজনীয় ডকুমেন্টেশন সহ।
এই প্রজেক্টের জন্য সম্পূর্ণ GitHub Actions CI/CD ওয়ার্কফ্লো কনফিগ করুন।
ওয়ার্কফ্লো রিকোয়ারমেন্ট:
1. CI (প্রতিটি push এবং PR ট্রিগার):
- কোড চেক: ESLint / Prettier
- ইউনিট টেস্ট + কভারেজ রিপোর্ট
- বিল্ড ভেরিফিকেশন
- ডিপেন্ডেন্সি সিকিউরিটি স্ক্যান
2. CD (main এ মার্জ করলে ট্রিগার):
- Docker ইমেজ বিল্ড করুন এবং ECR এ পুশ করুন
- AWS ECS (বা EC2) এ ডিপ্লয় করুন
- ডিপ্লয়মেন্টের পর স্বয়ংক্রিয় স্মোক টেস্ট রান করুন
- ব্যর্থ হলে স্বয়ংক্রিয় রোলব্যাক
3. অপটিমাইজেশন:
- npm/pip ক্যাশ স্পীড আপ করুন
- টেস্ট প্যারালাল করুন
- শুধুমাত্র প্রাসঙ্গিক ফাইল পরিবর্তিত হলে সংশ্লিষ্ট ধাপ ট্রিগার করুন
সব গোপন কোড GitHub Secrets দিয়ে ম্যানেজ করুন।
একটা প্রোডাকশন-গ্রেড Nginx কনফিগ জেনারেট করুন:
1. রিভার্স প্রক্সি:
- ফ্রন্টএন্ড স্ট্যাটিক রিসোর্স (/) → লোকাল ডিরেক্টরি
- API রিকোয়েস্ট (/api/) → ব্যাকএন্ড সার্ভিস (upstream)
- WebSocket সাপোর্ট (/ws/)
2. HTTPS কনফিগ:
- Let's Encrypt সার্টিফিকেট (Certbot অটো রিনিউয়াল)
- HTTP স্বয়ংক্রিয় HTTPS রিডাইরেক্ট
- HSTS, OCSP Stapling
- TLS 1.2+ শুধু, সিকিউর সাইফার স্যুট
3. লোড ব্যালান্সিং:
- upstream মাল্টি ব্যাকএন্ড ইনস্ট্যান্স
- স্বাস্থ্য পরীক্ষা
- least_conn স্ট্র্যাটেজি
4. পারফরম্যান্স অপটিমাইজেশন:
- Gzip কম্প্রেশন
- স্ট্যাটিক রিসোর্স ক্যাশ হেডার
- রিকোয়েস্ট রেট লিমিটিং (DDoS প্রতিরোধ)
Certbot ইনস্টলেশন এবং সার্টিফিকেট অনুরোধ কমান্ড সহ।
কনফিগ জেনারেশন: OpenClaw vs হাতে YAML
আমরা এমন নই যে হাতে লেখা খারাপ, শুধু আরো স্মার্ট উপায় আছে।
- প্রজেক্ট স্ট্রাকচার অনুযায়ী কনফিগ কাস্টমাইজ করুন, জেনেরিক টেমপ্লেট না
- সিকিউরিটি বেস্ট প্র্যাকটিস অন্তর্ভুক্ত (নন-রুট, Secret ম্যানেজমেন্ট, TLS কনফিগ)
- জেনারেট করা YAML ফরম্যাট নিশ্চিত সঠিক, ইন্ডেন্ট ভুল হবে না
- একটা Prompt দিয়ে সম্পূর্ণ সেট, Docker + CI/CD + Nginx
- Stack Overflow থেকে কপি করুন, ভার্সন হয়তো আর আপডেটেড না
- সিকিউরিটি কনফিগ প্রায়ই মিসিং, প্রোডাকশনে ভালনারেবিলিটি খুঁজে পান
- YAML ইন্ডেন্ট আধাদিন সমন্বয়, একটা স্পেস সবকিছু খারাপ করে
- এদিক ওদিক থেকে জড়ো, কনফিগ একে অপরের সাথে বিরোধিতা করতে পারে