ম্যাজেন্টো ডেভলপমেন্ট সেটআপ


23

এই প্রশ্নটি বিকাশের পরিবেশ স্থাপনের দিকে পরিচালিত। আমার কিছু নির্দিষ্ট প্রয়োজনীয়তা রয়েছে:

  1. আমি আমার সমাধানটি লিনাক্স, উইন্ডোজ এবং ম্যাক ওএসের অধীনে ব্যবহার করতে সক্ষম হতে চাই, যেহেতু আমাদের দলের লোকেরা এই সমস্ত ওএস ব্যবহার করে (যেমন ফ্রন্ট এন্ড বিকাশকারীরা উইন্ডোজ / ম্যাক ব্যবহার করেন, ব্যাক এন্ড বিকাশকারীরা বেশিরভাগ লিনাক্স ব্যবহার করেন)
  2. আমার মোডম্যান ব্যবহার করা দরকার
  3. আমার সুরকার ব্যবহার করা দরকার
  4. আমার গিথুব পাশাপাশি আমার ব্যক্তিগত গিট সংগ্রহস্থলও ব্যবহার করা দরকার
  5. আমার নেটবিয়ান বা পিএইচপি স্টর্মের মতো একটি উপযুক্ত আইডিই দরকার
  6. আমি খুব ভাল অভিনয় চাই

আমার বর্তমান সেটআপটি ভার্চুয়ালবক্সের মধ্যে একটি ভার্চুয়ালাইজড উবুন্টু চিত্র। তিনটি ওএস ভার্চুয়ালবক্স চালাতে পারে, সুতরাং পয়েন্ট 1) - 5) সমস্ত সন্তুষ্ট।

তবে, বর্তমানে আমি পুরোপুরি সন্তুষ্ট নই am) এর সাথে। উবুন্টু 12.04 এর মধ্যে থেকে সমাধানটি চালানোর সময় এটি বিশেষভাবে সত্য। ভার্চুয়ালবক্সটি উইন্ডোজ under এর অধীনে অনেক বেশি স্থিতিশীল এবং প্রতিক্রিয়াশীল বলে মনে হচ্ছে তবে আমাদের দলের অনেকে লিনাক্স ব্যবহার করছেন, তাই আমি সমাধানটি আরও উন্নত করতে চাই।

কারও কি ভিএমওয়্যারে তুলনীয় সেটআপ আছে বা সম্ভবত ডকার.ওও আছে এবং এটি আরও স্থিতিশীল চলছে কিনা তা রিপোর্ট করতে পারে? বা কারও কি অন্যান্য তুলনামূলক সমাধান / ধারণা আছে?


সুন্দর প্রশ্ন! আমরাও একই ধরণের সেটআপে কাজ করছি কিন্তু এখনও এটি আমাদের নিয়মিত কর্মপ্রবাহে রাখিনি। উত্তরের অপেক্ষায় রয়েছি
আনা ভলক্ল

কেবলমাত্র একটি দ্রুত ধারণা: লিনাক্সে ভিএম ছাড়া কাজ করা এবং ভিএম-তে চলমান সমস্ত কিছু সরাসরি ইনস্টল করা সম্ভব হবে না? বা আপনি কি একটি প্রকল্পের জন্য একটি ভিএম ব্যবহার করেন?
আনা ভলক্ল

আপনি কি ভিএম হেডলেস চালাচ্ছেন বা জিইউআই দিয়ে? এবং কীভাবে আপনি হোস্ট সিস্টেমের সাথে ভিএম চিত্র ফাইল সিস্টেমটি সিঙ্ক্রোনাইজ করছেন? যৌথরূপে ব্যবহৃত ফোল্ডার? সাম্বা? (আমি ধরে নিচ্ছি আইডিই হোস্টে চলছে, ভিএম নয়) এটি একটি বড় পার্থক্য করতে পারে।
বিনাই

@ আনাভালক্ল হ্যাঁ, এটি সম্ভব হবে তবে এটির কিছু সুবিধা নষ্ট হবে। যেমন আপনি যখনই বেস ইমেজ আপডেট করেন, সমস্ত লিনাক্স ব্যবহারকারীদের নিজেই পরিবর্তনগুলি আপডেট করতে হবে। এছাড়াও, যদি আপনি নিজের বাক্সটি একটি কম্পিউটার থেকে অন্য কম্পিউটারে নিয়ে যেতে চান (যেমন বাড়িতে বা অন্য কোথাও কাজ করুন), জিনিসগুলি আরও শক্ত।
এমপিএপার

1
যেমন আনা বলেছেন: আমরাও এরকম কিছু কাজ করছি। আমরা ভিএম চিত্রগুলি ভিএমআর্ট তৈরি করতে ব্যবহার করছি এবং এটি বেশ ভাল কাজ করছে। আপনি যেমনটি বলেছেন, পারফরম্যান্স (ভাগ করা ফোল্ডারে ফাইল I / O এর গতি সম্পর্কিত) আমাদের স্যুইচ করার আগে কাজ করতে হবে thing লিনাক্স হোস্ট সিস্টেমগুলির জন্য এনএফএসের শেয়ারগুলি সহায়তা করতে পারে। আমাদের বড় সমস্যাটি হ'ল আমাদের বেশিরভাগ বিকাশকারী উইন্ডোজ হোস্ট সিস্টেম ব্যবহার করেন এবং লিঙ্কের বিপরীতে উইন্ডোজ কার্যকারিতা মোটেই ভাল নয়। আমি এখন বিভিন্ন লোকের কাছ থেকে এটি শুনেছি, এটি কেবল আমাদের নয়।
ম্যাথিয়াস জেইস

উত্তর:


8

আমি phing উপর ভ্যাব্রেন্ট, গিট এবং কিছু বিল্ড স্ক্রিপ্ট ব্যবহার করি। ভিজান্ট মেশিনটি চালিত ডেটাবেস এবং ওয়েব সার্ভার, আমার এক্সটেনশনের পরিবর্তনগুলি ট্র্যাক করতে এবং স্থানীয়ভাবে /var/wwwআমার বারান্দা মেশিনে ডিরেক্টরি আপডেট করতে ব্যবহৃত স্ক্রিপ্ট তৈরি করতে স্থানীয়ভাবে ব্যবহৃত গিটটি (বাস্তবে এটি আমার যেখানে পরিবেশ তৈরির প্রয়োজন সেখানেই ব্যবহৃত হয়েছে)।

Phing

সম্ভবত সবচেয়ে আকর্ষণীয় অংশটি হচ্ছে Phing, যা আমার জন্য মোডম্যান + সুরকারের মতো কাজ করে। এটির বিল্ড, সেটআপ এবং ইনস্টল সহ কয়েকটি লক্ষ্যমাত্রা নির্ধারিত রয়েছে।

বিল্ড অভ্যন্তরীণ ওয়েবসার্ভার থেকে লক্ষ্য ডাউনলোড (বিল্ড কনফিগ উল্লেখিত) Magento নির্দিষ্ট সংস্করণ এবং বিল্ড ডিরেক্টরি সেটিকে বের করে। তারপরে অন্যান্য টার্গেটগুলি চালান যা ফাইলগুলির জন্য সেটআপের অনুমতি দেয় এবং ক্যাশে সাফ করে দেয়। তারপরে এটি উত্স ডিরেক্টরিতে থাকা সমস্ত ফাইলে সিমলিংক তৈরি করে। ফলস্বরূপ আমি আমার বিল্ড ডিরেক্টরিতে সমস্ত ফাইল ব্যবহারের জন্য প্রস্তুত। যদি ইতোমধ্যে বিল্ড ডিরেক্টরিতে ম্যাগেন্টো কোর ফাইলগুলি ডাউনলোড করা এড়িয়ে যায় এবং কেবলমাত্র সিমলিংকগুলি আপডেট করে, তাই প্রতিবার সিমলিংকগুলি আপডেট করার জন্য আমি পরিবেশটিকে পুনর্নির্মাণের জন্য এই লক্ষ্যটি ব্যবহার করি। ভ্যাগ্র্যান্ট মেশিন উত্সের জন্য ডিরেক্টরি /vagrant/src(ভাগ করা ফোল্ডার) থাকে এবং বিল্ড ডিরেক্টরি হয় /var/www

ইনস্টল নির্দিষ্ট Magento সংস্করণের জন্য লক্ষ্য ডাউনলোড এবং আমদানি ডাটাবেসের ডাম্প। তারপরে সেটআপ টার্গেট রান করুন।

সেটআপ লক্ষ্য শুধু সব সেটিংস সঙ্গে একটি local.xml ফাইল তৈরি করুন।

আমার সংস্থায় আমরা ইউনিট টেস্টিং এবং সিআই সরঞ্জাম ব্যবহার করি, সুতরাং ম্যাজেন্টো পরিবেশ তৈরির এই উপায়ে আমাদের ম্যাজেন্টোর বিভিন্ন সংস্করণে আমাদের এক্সটেনশানগুলি পরীক্ষা করার অনুমতি দেয় এবং এটি ইনস্টল না করে এবং চালিয়ে যায়।

আমি ভ্যাগ্র্যান্ট মেশিনে একটি "শর্টকাট" তৈরি করেছি যা নির্মাণের অ্যাক্সেসকে সহজ করে। উদাহরণস্বরূপ, প্রকল্পটি পুনর্নির্মাণের জন্য আমার কেবল টাইপ করা দরকার vagrant ssh -c magebuildএবং এটি স্বয়ংক্রিয়ভাবে /vagrantডিরেক্টরিতে phing চালায় ।

তারপরে আমি আমার পিএইচপিএসটারম আইডিইতে কিছু নির্দিষ্ট সংমিশ্রণের জন্য এই আদেশটি নির্ধারণ করেছি এবং এখন আমি কেবল আমার আইডিইতে Alt + B টিপে প্রকল্পটি পুনর্নির্মাণ করতে পারি। তবে যেহেতু আমি সিমলিংক ব্যবহার করি এটি প্রায়শই অপারেশন হয় না।

ভবঘুরে

উদ্বেগের জন্য একটি বাক্স এটি বোর্ডে উবুন্টু 12.04 এর সাথে আমার নিজস্ব বাক্স, এটি সমস্ত সফ্টওয়্যার প্রিনইনস্টল + শর্টকাট এবং কিছু কনফিগারেশন সহ কেবলমাত্র প্রমিত 12.04। অসম্পূর্ণ ফাইলগুলিতে আমি এক্সপ্রেসটি ব্যবহার করতে সক্ষম হতে প্রাইভেট নেটওয়ার্কগুলিকে কেবল পোর্ট ফরওয়ার্ডিং সেটিংস রেখেছি এবং বিধানগুলিতে বিল্ড শর্টকাট রেখেছি।

এলেবেলে

build.xmlগিটে আমি কেবল আমার এক্সটেনশান ফাইলগুলি, ফিং এবং এর জন্য ট্র্যাক করি Vagrantfile। সুতরাং যে কেউ পরিবেশ তৈরি করতে চান তারা কেবল সংগ্রহস্থলটিকে ক্লোন করতে পারেন এবং ভিজ্যর আপ করতে পারেন। তারপরে সে ভিএম আপ করবে এবং কাজের জন্য প্রস্তুত থাকবে। এই সমস্ত প্রক্রিয়াটি 1-2 মিনিট সময় নেয়। আপনি যদি স্থানীয়ভাবে প্রকল্পটি তৈরি করতে চান (ভিএম ব্যবহার না করে) আপনি চালাতে পারেন phing build install


2

বর্তমানে আমার বিকাশের পরিবেশটি VMWare সহ উবুন্টু v12.04। আমি সম্পূর্ণ জিইআইআই সহ পুরো ভিএম এর অভ্যন্তরে কাজ করি এবং উবুন্টুতে কেবল সাম্বা ফাইল ভাগ করে নেওয়ার প্রয়োজন যদি আমার হোস্ট ওএস যা উইন্ডোজ from থেকে পাওয়া যায় তবে আমি সাধারণত অভ্যন্তরীণ আইপি-র মাধ্যমে একটি নেটওয়ার্ক ড্রাইভ অ্যাক্সেস করি এবং ম্যাপ করি ভিএম-তে নেটওয়ার্কিংয়ের জন্য NAT এর মাধ্যমে ভিএম। অন্যান্য সমাধানগুলি ব্যবহার করা ভিএমওয়্যারের ভাগ করা ফোল্ডারগুলির মতো অনেক ধীর হয়ে গেছে proved আমি আমার ভিএমওয়্যার ইমেজ সেটিংসে এটি অক্ষম করেছি। তবে আমি আমার হোস্ট মেশিনে অনুলিপি / পাস্তা সহজ করার জন্য VMWare সরঞ্জামগুলি ইনস্টল করি v

ম্যাথিয়াস জেইস যেমন উল্লেখ করেছেন, আপনার ভিএম এর সাথে নেটওয়ার্কিং / শেয়ার্ড ফোল্ডারগুলি নির্বাচন করার ক্ষেত্রে আপনার সাবধানতা অবলম্বন করুন কারণ কিছু সমস্যাযুক্ত প্রমাণিত হবে।

আমি ভার্চুয়ালবক্সের আগের ব্যবহারকারী ছিলাম তবে ভিএমওয়্যারকে আরও স্থিতিশীল হতে পেরেছিলাম এবং গ্রহণযোগ্যভাবে সম্পাদন করেছি (কমপক্ষে আমার জন্য)। আমি তবে আপনার প্রয়োজন এবং প্রয়োজনীয়তা যথাযথভাবে মানিয়ে নিতে আপনার নিজের পরীক্ষা করতে চাই। ভ্যাগ্রান্ট ভার্চুয়ালবক্স ব্যবহার করে।

আইডিই: আমি আমার পছন্দের আইডিই হিসাবে নেটবিনগুলি বেশ বিস্তৃতভাবে ব্যবহার করছিলাম তবে তখন থেকে সাব্লাইম টেক্সট 2 হিসাবে আরও বেশি লাইটওয়েট সলিউশনে চলে এসেছি । আমি খুব কমই নেটবিনগুলি প্রধানত এক্স-ডিবাগ উদ্দেশ্যে এবং সহজ রিফ্যাক্টরিংয়ের জন্য খুলব। নেটবিনস, পিএইচপিএসটারম, এক্সলিপস ইত্যাদি সমস্ত জাভা ভিত্তিক আইডিই এবং খুব ক্ষুধার্ত হতে পারে।

হার্ডওয়ার : আরও যোগ করার জন্য, হার্ডওয়্যার সর্বদা পারফরম্যান্সে মূল ভূমিকা রাখবে (স্পষ্টতই)। যদি আপনার বিকাশকারীরা এখনও প্লাটার এইচডিডি ব্যবহার করে থাকেন তবে আমি তাদের জন্য এসএসডিতে বিনিয়োগ করার চেষ্টা করব। যেহেতু ম্যাজেন্টোতে প্রচুর পরিমাণে ফাইল / ফোল্ডার রয়েছে এটি বিকাশকারীদের কার্য সম্পাদনকে তীব্রতর করবে। বিকাশকালে: সমস্ত ক্যাচিং বন্ধ করে, এবং কেবল এসভিএন / জিআইটি, বা আপনার আইডিইতে ফোল্ডার ট্রিটি অনুসরণ করার সময়। আপনার ভিএমকে পর্যাপ্ত র‌্যাম দেওয়াও ঠিক ততটা গুরুত্বপূর্ণ।

আমার হোস্ট মেশিন: স্যামসং এসএসডি 512 গিগাবাইট ড্রাইভ স্পেস, উইন 7 (64 বিট), 8 জিবি র‌্যাম, আই 7 2.4 জিএইচজেড (8 কোর)

আমার ভিএম মেশিন: স্যামসাং এসএসডি, 30 জিবি ড্রাইভ স্পেস, উবুন্টু 12.04 (32 বিট), 3 জিবি র‌্যাম, আই 7 (4 টি বরাদ্দ বরাদ্দ)।

প্রশ্ন জিজ্ঞাসার প্রশ্ন: সবচেয়ে বড় প্রশ্ন হ'ল একটি বিকাশকারী ভিএম চিত্র তৈরি করা যা হালকা ওজনযুক্ত এবং একাধিক প্রকল্পে পুনরায় ব্যবহারযোগ্য, বা প্রতি প্রকল্পে একটি চিত্র তৈরি করা। পূর্বে আমি প্রতি প্রকল্পের ভিত্তিতে ছোট ভিএম করার চেষ্টা করছিলাম তবে আমার বিকাশের কর্মপ্রবাহের সাথে নিয়মিত পুনর্গঠন করা খুব বেশি কাজ হয়ে গেছে, এবং এখন আরও একটি বৃহত্তর ভিএম ব্যবহার করুন এবং প্রতিটি প্রকল্পকে যতটা সম্ভব বিচ্ছিন্ন রাখার জন্য যথাসাধ্য চেষ্টা করুন।

ওএস, আইডিই, এলএএমপি স্ট্যাক, আপডেট / কনফিগারেশন ইত্যাদির রক্ষণাবেক্ষণ যদি এক প্রকল্পে একাধিক ভিএম'র পথটি বেছে নেওয়া হয় তবে তা কাজকর্ম হতে পারে। চূড়ান্তভাবে দীর্ঘতর সময়কালে নেতৃত্ব দেয় (এবং স্থানীয় পরিবেশ সেটআপগুলির জন্য আরও খারাপ বিল-সময়যোগ্য সময়)।

এটি সহায়ক হিসাবে প্রমাণিত হয়েছে, যেহেতু আমি নতুন ভিএম খোলার প্রয়োজন ছাড়াই অন্যান্য প্রকল্প ফাইলগুলিতে অ্যাক্সেস করতে সক্ষম হয়েছি এবং আমার হোস্ট হার্ডওয়্যারটিকে আরও আরও টুকরো টুকরো করে ফেলেছি। খারাপ দিকটি আদর্শভাবেই আমি চাই যে প্রতিটি প্রকল্পই পরিবেশের সাথে অপ্রত্যাশিত সমস্যাগুলি রোধ করার জন্য অন্যান্য প্রকল্পগুলি থেকে পাইল করা হোক (যেমন, php.ini, my.cnf, httpd.conf ইত্যাদি)। এখনও পর্যন্ত সমস্ত প্রকল্প সহজেই অ্যাক্সেসযোগ্য থাকার ট্রেডঅফ আরও সম্পদশালী প্রমাণিত হয়েছে।

আবার এটি আপনার প্রয়োজনীয়তাগুলির উপর নির্ভর করে তাই হাতের আগে তাদের মূল্যায়ন করুন।

ফিডব্যাক : যা প্রতিক্রিয়া বাড়ে। আপনার বিকাশকারীদের থেকে যতটা সম্ভব ইনপুট পান। চূড়ান্তভাবে তাদের প্রয়োজনীয়তাগুলি পূরণ করা প্রয়োজন এবং একটি যথাযথ সমাধান স্থাপন ও স্থাপনের আগে তাদের সমস্যাগুলি বোঝা উচিত। প্রত্যেকেরই আলাদা আলাদা ওয়ার্কফ্লো রয়েছে এবং আপনি যে OS ও বিকাশের জন্য বেছে নিতে পারেন তাতে সকলেই স্বাচ্ছন্দ্য বোধ করেন না। আমার থাম্বের নিয়মটি বিকাশকারীকে তাদের ওএস এবং আইডিই চয়ন করতে দিন যাতে তারা সবচেয়ে স্বাচ্ছন্দ্য বোধ করেন এবং এর সাথে সেরা অভিনয় করবেন। সুতরাং এমনকি একটি হালকা হেডলেস লিনাক্স ভিএম তাদের প্রয়োজনীয়তার জন্য কার্যকর প্রমাণিত হতে পারে তবে স্পষ্টতই হোস্ট এবং ভিএম এর মধ্যে স্থানীয় নেটওয়ার্ক জুড়ে ফোল্ডারগুলি ভাগ করে নেওয়ার ইস্যুটি চালু করতে পারে।

সাবলীলতা: আমি আমার ভিএম ইমেজটি ড্রপবক্সের মতো কিছুতে রাখার ধারণার সাথেও কথা বললাম যাতে আমার যে কোনও সময় প্রয়োজন হতে পারে সহজেই এটি অ্যাক্সেস করতে পারি। যেহেতু ড্রপবক্সের মতো পরিষেবাগুলি কিছুটা সঞ্চিত রয়েছে তার কিছুটা হলেও এটি যৌক্তিক বলে মনে হয় যে আমি যে বিটগুলি পরিবর্তন করেছি তা সিঙ্ক হবে। তবে এটি কেস হিসাবে প্রমাণিত হয়নি কারণ আমি বিশ্বাস করি যে এটি চিত্র ফাইলটি কীভাবে সংরক্ষণ করা হয় তার অভ্যন্তরগুলির সাথে সম্পর্কযুক্ত এবং আমি কেবল আমার ভিএম সিঙ্ক করার জন্য সারা দিন / রাত অপেক্ষা করছিলাম।

দ্রষ্টব্য: ভিএম-এর জন্য বরাদ্দকৃত ড্রাইভের স্থানটি বৃহত্তর চিত্রটি হয়ে উঠবে, আপনার বিকাশকারীদের মধ্যে চিত্র বিতরণ করার সময় এটি মনে রাখবেন। প্রতিটি প্রকল্পের জন্য আপনার প্রকল্পের ফাইলগুলি লোড করা ওভারকিল হতে পারে এবং আমি প্রতিটি বিকাশকারীর তৈরি চিত্র তৈরির পরে এটি সেট আপ করার জন্য রেখে দেব।

অ্যাশলে শ্রডারের কিছুটা পুরনো সম্পর্কিত নিবন্ধ রয়েছে যা একটি ভাল পড়া, পাশাপাশি ফুমান এবং কলিনের কিছু মন্তব্য

আশা করি এটি আপনার তালিকাভুক্ত সমস্যার আইটেম অন্তর্দৃষ্টি দিয়ে সহায়তা করবে, # 6।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.