CI/CD এবং ডেভঅপস অটোমেশন

Docker, GitHub Actions, Nginx—একটা ইন্সট্রাকশন দিয়ে প্রোডাকশন-গ্রেড কনফিগ জেনারেট করুন

DevOps কনফিগারেশন, প্রতিবার একটা দুঃস্বপ্ন

YAML নরক + পরিবেশ অসামঞ্জস্য + কনফিগ সারাদিন সমন্বয়

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 তিনটো বেসিক, প্রতিটাই প্রোডাকশন-গ্রেড কনফিগ।

Docker + docker-compose সম্পূর্ণ কনফিগ গোল্ডেন ইন্সট্রাকশন
এই 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 এবং প্রয়োজনীয় ডকুমেন্টেশন সহ।
এই Prompt জেনারেট করা Docker কনফিগ সত্যি প্রোডাকশনে যেতে পারে, নেট থেকে পাওয়া "FROM node:latest একবারে" টিউটোরিয়াল ভার্সন না। মাল্টি-স্টেজ বিল্ড ইমেজকে 1GB থেকে 100MB এর কম পর্যন্ত কমিয়ে দিতে পারে।
GitHub Actions CI/CD সম্পূর্ণ প্রসেস গোল্ডেন ইন্সট্রাকশন
এই প্রজেক্টের জন্য সম্পূর্ণ GitHub Actions CI/CD ওয়ার্কফ্লো কনফিগ করুন।

ওয়ার্কফ্লো রিকোয়ারমেন্ট:

1. CI (প্রতিটি push এবং PR ট্রিগার):
   - কোড চেক: ESLint / Prettier
   - ইউনিট টেস্ট + কভারেজ রিপোর্ট
   - বিল্ড ভেরিফিকেশন
   - ডিপেন্ডেন্সি সিকিউরিটি স্ক্যান

2. CD (main এ মার্জ করলে ট্রিগার):
   - Docker ইমেজ বিল্ড করুন এবং ECR এ পুশ করুন
   - AWS ECS (বা EC2) এ ডিপ্লয় করুন
   - ডিপ্লয়মেন্টের পর স্বয়ংক্রিয় স্মোক টেস্ট রান করুন
   - ব্যর্থ হলে স্বয়ংক্রিয় রোলব্যাক

3. অপটিমাইজেশন:
   - npm/pip ক্যাশ স্পীড আপ করুন
   - টেস্ট প্যারালাল করুন
   - শুধুমাত্র প্রাসঙ্গিক ফাইল পরিবর্তিত হলে সংশ্লিষ্ট ধাপ ট্রিগার করুন

সব গোপন কোড GitHub Secrets দিয়ে ম্যানেজ করুন।
একটা সম্পূর্ণ CI/CD কনফিগ হাতে লেখা মানে কমপক্ষে আধাদিন, আর ডিবাগিং বারবার। এই Prompt একবার জেনারেট করে, মূলত চলে যায়, শুধু কয়েকটা ভেরিয়েবল নাম বদল করতে হয়।
Nginx রিভার্স প্রক্সি + HTTPS + লোড ব্যালান্সিং অ্যাডভান্সড কৌশল
একটা প্রোডাকশন-গ্রেড 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 ইনস্টলেশন এবং সার্টিফিকেট অনুরোধ কমান্ড সহ।
Nginx কনফিগ সবচেয়ে বেশি বাগ তৈরি করে। proxy_pass এর শেষে স্ল্যাশ থাকবে কি না, location ম্যাচিং অগ্রাধিকার, upstream হেলথচেক—এই সব পিট এআই আপনার জন্য এড়িয়ে দেয়।

কনফিগ জেনারেশন: OpenClaw vs হাতে YAML

আমরা এমন নই যে হাতে লেখা খারাপ, শুধু আরো স্মার্ট উপায় আছে।

OpenClaw
  • প্রজেক্ট স্ট্রাকচার অনুযায়ী কনফিগ কাস্টমাইজ করুন, জেনেরিক টেমপ্লেট না
  • সিকিউরিটি বেস্ট প্র্যাকটিস অন্তর্ভুক্ত (নন-রুট, Secret ম্যানেজমেন্ট, TLS কনফিগ)
  • জেনারেট করা YAML ফরম্যাট নিশ্চিত সঠিক, ইন্ডেন্ট ভুল হবে না
  • একটা Prompt দিয়ে সম্পূর্ণ সেট, Docker + CI/CD + Nginx
VS
হাতে YAML / নেট থেকে কপি
  • Stack Overflow থেকে কপি করুন, ভার্সন হয়তো আর আপডেটেড না
  • সিকিউরিটি কনফিগ প্রায়ই মিসিং, প্রোডাকশনে ভালনারেবিলিটি খুঁজে পান
  • YAML ইন্ডেন্ট আধাদিন সমন্বয়, একটা স্পেস সবকিছু খারাপ করে
  • এদিক ওদিক থেকে জড়ো, কনফিগ একে অপরের সাথে বিরোধিতা করতে পারে

রিয়েল সিনারিও: নতুন প্রজেক্ট DevOps জিরো থেকে বিল্ড

নতুন প্রজেক্ট লঞ্চ করতে চান, ডেভঅপস শুধু আপনি একা
ব্যাকএন্ড Node.js + PostgreSQL + Redis, ফ্রন্টএন্ড React, Docker কন্টেইনারাইজেশন, GitHub Actions CI/CD, Nginx রিভার্স প্রক্সি, HTTPS দরকার। বস বলল এক সপ্তাহে সেরে ফেল।
OpenClaw
তিনটা Prompt রান করুন, Docker সম্পূর্ণ সেট, CI/CD পাইপলাইন, Nginx কনফিগ সব জায়গায়। আধাদিন খরচ করে কয়েকটা প্রজেক্ট-স্পেসিফিক ভেরিয়েবল বদল করুন, টেস্ট রান করুন। পরের দিন টেস্ট এনভায়রনমেন্টে ডিপ্লয় শুরু করুন, এক সপ্তাহ না হলেই সব সেরে যাবে।
নিজে করুন
শুধু Docker মাল্টি-স্টেজ বিল্ড দুই দিন গবেষণা, GitHub Actions ক্যাশিং কনফিগ একদিন, Nginx HTTPS কনফিগ মধ্যরাত পর্যন্ত। এক সপ্তাহ গেল, এখনো CI এরর ঠিক করছেন। বস গতিপতি জিজ্ঞাসা শুরু করেছে।

DevOps কনফিগ ছোট টিপস

💡 কনফিগ জেনারেট করার পর লোকালে একবার টেস্ট করুন। Docker দিয়ে docker-compose up --build টেস্ট করুন, GitHub Actions দিয়ে act ব্যবহার করে লোকালে রান করুন।
🎯 OpenClaw কে কনফিগে বিস্তারিত কমেন্ট যোগ করতে বলুন। তিন মাস পর আপনি আবার এসে কনফিগ পরিবর্তন করবেন, আপনি সেই সময়ে নিজেকে ধন্যবাদ জানাবেন।
⚠️ জেনারেট করা কনফিগে সিক্রেট, পাসওয়ার্ড থাকলে, নিশ্চিত করুন এনভায়রনমেন্ট ভেরিয়েবল বা Secret দিয়ে ম্যানেজ হচ্ছে। কখনো সিক্রেট হার্ডকোড করবেন না কনফিগ ফাইলে। এটা আইরন রুল।
এই কেসটা কাজে লেগেছে?