Skip to content

Dev Machines

বিল্ড এবং টেস্টিংয়ের জন্য বিচ্ছিন্ন ডেভেলপমেন্ট এনভায়রনমেন্ট। Proyecta Cloud দ্বারা পরিচালিত সম্পূর্ণ Linux এনভায়রনমেন্ট।

Proyecta প্রতিটি প্রজেক্টের জন্য একটি ডেডিকেটেড ডেভেলপমেন্ট মেশিন (runtime) তৈরি করে। এটি একটি বিচ্ছিন্ন কন্টেইনার যেখানে সম্পূর্ণ Linux এনভায়রনমেন্ট রয়েছে এবং ডেভেলপমেন্টের সময় তোমার অ্যাপ এখানেই চলে।

Dev Machine কীভাবে কাজ করে?

Section titled “Dev Machine কীভাবে কাজ করে?”

তুমি যখন একটি প্রজেক্ট খোলো, Proyecta তখন:

  1. ক্লাউডে একটি বিচ্ছিন্ন কন্টেইনার (pod) তৈরি করে
  2. তোমার প্রজেক্টের কোড সেখানে পুনরুদ্ধার করে
  3. ডিপেন্ডেন্সি ইনস্টল করে এবং এনভায়রনমেন্ট সেটআপ করে
  4. তোমার অ্যাপের development server চালু করে
  5. Builder-এ একটি লাইভ preview দেখায়

টুলবারের নিচে Runtime Status Bar-এ তুমি provisioning-এর অগ্রগতি দেখতে পাবে।

স্টার্টআপের সময় স্ট্যাটাস বারে এই ধাপগুলো দেখা যায়:

ধাপ বিবরণ
Creating pod বিচ্ছিন্ন কন্টেইনারটি চালু করা হচ্ছে
Health check কন্টেইনারটি চলছে কিনা যাচাই করা হচ্ছে
Git init তোমার রিপোজিটরি ক্লোন করা হচ্ছে
Environment setup ডিপেন্ডেন্সি ইনস্টল করা হচ্ছে (npm, pip ইত্যাদি)
Starting services তোমার অ্যাপ এবং ইনফ্রাস্ট্রাকচার চালু করা হচ্ছে
Ready তোমার dev machine সম্পূর্ণরূপে অনলাইন

আমার dev machine-এ সমস্যা হচ্ছে। কীভাবে ঠিক করব?

Section titled “আমার dev machine-এ সমস্যা হচ্ছে। কীভাবে ঠিক করব?”

যদি preview লোড না হয় বা মেশিনটি আটকে থাকে বলে মনে হয়:

  1. এরর মেসেজের জন্য Runtime Status Bar চেক করো
  2. AI-কে service লগ চেক করতে এবং ডিবাগ করতে বলো — মেশিনে এর সম্পূর্ণ অ্যাক্সেস রয়েছে
  3. সব ব্যর্থ হলে, সমস্যাটি ডিবাগ করতে AI-এর সাহায্য চাও

তোমার dev machine-এ ডেটাবেস এবং সার্ভিসের জন্য sidecar কন্টেইনার থাকতে পারে:

  • PostgreSQL — রিলেশনাল ডেটাবেস (port 5432)
  • PostGIS — জিওস্পেশাল এক্সটেনশনসহ PostgreSQL (port 5432)
  • Redis — ইন-মেমোরি ক্যাশ (port 6379)
  • MongoDB — ডকুমেন্ট ডেটাবেস (port 27017)
  • MySQL — রিলেশনাল ডেটাবেস (port 3306)
  • MailHog — ওয়েব UI-সহ ইমেইল টেস্টিং সার্ভার (SMTP port 1025, UI port 8025)

Services প্যানেলে চলমান সার্ভিস এবং তাদের স্ট্যাটাস দেখো।

লাইফসাইকেল স্টেট

Section titled “লাইফসাইকেল স্টেট”

Dev machine-গুলো এই লাইফসাইকেল স্টেটগুলোর মধ্য দিয়ে যায়:

স্টেট বিবরণ
Pending তৈরির অপেক্ষায় আছে
Initializing এনভায়রনমেন্ট সেটআপ হচ্ছে
Running সক্রিয় এবং সুস্থ
Suspended রিসোর্স বাঁচাতে বিরতিতে আছে (দ্রুত পুনরায় চালু হয়)
Archived কোল্ড স্টোরেজে সংরক্ষিত (পুনরুদ্ধারে বেশি সময় লাগে)
Restoring আর্কাইভড স্টোরেজ থেকে পুনরুদ্ধার হচ্ছে
Failed Provisioning বা অপারেশন ব্যর্থ হয়েছে — মেশিনটি পুনরায় provision করা যেতে পারে
Terminated স্থায়ীভাবে বন্ধ করা হয়েছে

৬০ মিনিট নিষ্ক্রিয় থাকলে মেশিন স্বয়ংক্রিয়ভাবে suspend হয় এবং ২৪ ঘণ্টা suspend থাকলে archive হয়।

সাধারণ প্রশ্নাবলি

Section titled “সাধারণ প্রশ্নাবলি”

Dev machine বন্ধ হয়ে গেলে আমার পাবলিশ করা অ্যাপের কী হবে?

তোমার অ্যাপের ডেটা Proyecta-র প্ল্যাটফর্ম ডেটা লেয়ারে (CMS) থাকে, যা তোমার dev machine-এর উপর নির্ভরশীল নয় এবং সেটি সবসময় উপলব্ধ থাকে। তবে, তোমার অ্যাপের frontend ফাইলগুলো dev machine থেকে serve করা হয় — মেশিনটি suspended বা archived থাকলে দর্শকরা মেশিন পুনরায় চালু না হওয়া পর্যন্ত 503 এরর দেখবে। যেসব অ্যাপ সবসময় সর্বসাধারণের জন্য অ্যাক্সেসযোগ্য রাখতে চাও, সেগুলোর ক্ষেত্রে এটি মাথায় রাখো; মেশিন resume করলে সাইটটি আবার চালু হয়।

আমি কি দ্রুততর dev machine পেতে পারি?

বর্তমানে সব dev machine একই রিসোর্স বরাদ্দ নিয়ে চলে। বড় প্রজেক্টের জন্য বেশি ক্যাপাসিটি দরকার হলে সাপোর্টে যোগাযোগ করো।

আমি কি সরাসরি dev machine অ্যাক্সেস করতে পারি?

না। Builder-এ কোনো টার্মিনাল বা shell অ্যাক্সেস নেই। AI তোমার পক্ষ থেকে মেশিনে সম্পূর্ণ অ্যাক্সেস রাখে — কমান্ড চালাতে, লগ চেক করতে বা ফাইল দেখতে বলো এবং এটি চ্যাটে ফলাফল জানাবে।