ম্যাজেন্টো 1: আমার মডিউল বিকাশের ওয়ার্কফ্লো উন্নত করুন (মোডম্যান, সুরকার, গিট)


14

এটি বেশ কিছুদিন ধরে আমার মনে ছিল তবে এটি করার সঠিক পদ্ধতি আমি খুঁজে পাচ্ছি না।

সুতরাং মূলত, আমি 6 বিভিন্ন ওয়েবসাইটের সাথে কাজ করছি, যা সমস্ত চলমান ম্যাজেন্টো সিই 1.9.2+ এ চলছে

এই ওয়েবসাইটগুলিতে, আমি এবং আমার সাথে যে টিমের সাথে কাজ করছি তার বিকাশ ঘটানোর একটি গুচ্ছ ব্যবহার করছি (এখানে আমরা 50+ এক্সটেনশনের কথা বলছি) এবং এই এক্সটেনশনের কোডটি বিটবাকেটে সঞ্চিত রয়েছে। সুতরাং আমি এই এক্সটেনশানগুলি পরিচালনা করার জন্য একমাত্র ব্যক্তি নই, আমরা 3 জন তাদের সাথে কাজ করছি।

এই মুহুর্তে, আমি যখন এই বৈশিষ্ট্যগুলির মধ্যে একটির জন্য একটি বৈশিষ্ট্য যুক্ত করতে / বাগ ঠিক করতে চাই , তখন আমার ওয়ার্কফ্লো এখানে দেওয়া হয়েছে:

  • মোডম্যানের মাধ্যমে ওয়েবসাইটের একটিতে এক্সটেনশনের শেষ সংস্করণটি ইনস্টল করুন
  • বাগটি ঠিক করুন / একটি বৈশিষ্ট্য / পরীক্ষা যুক্ত করুন
  • স্থানীয় ফোল্ডারে পরিবর্তনগুলি অনুলিপি করুন যাতে আমার সমস্ত এক্সটেনশন রয়েছে
  • এই এক্সটেনশন ফোল্ডারটি থেকে বিটবাকেটে জিআইটি-র মাধ্যমে প্রতিশ্রুতিবদ্ধ এবং চাপ দিন (প্রতি মডিউলে 1 বিটবকেট রেপো)
  • তারপরে মডিউলটির নতুন সংস্করণটি মোডম্যানের মাধ্যমে ইনস্টল করা যাবে

গুরুত্বপূর্ণ দ্রষ্টব্য: আমি এখানে হার্ডকপি দিয়ে মডম্যান ব্যবহার করছি, কোনও সিমলিংক নেই।

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

সুতরাং, এই ম্যানুয়াল অনুলিপি / পেস্ট পদক্ষেপটি থেকে মুক্তি পেতে কীভাবে আমি আমার ওয়ার্কফ্লো উন্নত করতে পারি? আমি এখানে পরামর্শের জন্য উন্মুক্ত।


আপনি কি Submodulesগিট বৈশিষ্ট্য চেষ্টা করেছেন ?
গোপাল প্যাটেল

আপনি হার্ডকপি ব্যবহার করছেন কেন? সিমলিংকগুলির সাথে আপনার কেবল মডেম ফোল্ডারের নীচে একটি গিট ক্লোন থাকা উচিত। তারপরে ঠিক জায়গায় সম্পাদনা করুন এবং কেবল ধাক্কা দিন।
ক্রিস্টফ

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


উত্তর:


8

আমি প্রায়শই নীচের পদ্ধতিটি গ্রহণ করি যা সুন্দর কাঠামো অজিনস্টিক।

  1. আপনি যে মডিউলটি সম্পাদনা করতে চান তা পরীক্ষা করে দেখুন /path/to/my/module
  2. আপনার টুকরো টুকরো কাজের জন্য একটি শাখা তৈরি করুন (প্রাসঙ্গিক ট্যাগের ব্রাঞ্চ অফ)।
  3. এই শাখায় কাজ করার প্রতিশ্রুতি দিন (চাপ দেবেন না)।
  4. আপনার প্রকল্পে, মডিউলটির স্থানীয় কপির জন্য একটি স্থানীয় ভান্ডার সংজ্ঞায়িত করুন। এটি এমন যাতে আপনার প্রকল্পটি আপনার এলএফএস থেকে চাপ ছাড়ানো পরিবর্তনগুলিতে টানতে পারে।

    {
        "repositories": [
        {
            "type": "path",
            "url": "/path/to/my/module"
        }
    ],
  5. তারপরে আপনার সুরকারকে আপনার নির্দিষ্ট বিকাশ শাখা প্রয়োজন হতে পারে (এতক্ষণ বলুন যে আপনার প্রকল্পগুলি minimum-stabilityএটির অনুমতি দেয়)।

    composer require namespace/module dev-branch-name-here
  6. আপনি কমিট /path/to/my/module, composer update namespace/moduleপ্রকল্পে, এটি ইনস্টল করুন এবং পরীক্ষা দেখুন।

  7. আপনি যখন স্কোয়াশটি সম্পূর্ণ করেন তখন কমিট করেন এবং এগিয়ে যান।

আমি https://github.com/Cotya/magento-composer-installer ব্যবহার করে এম 1 মডিউলগুলির জন্য এই পদ্ধতিটি ভালভাবে কাজ করে দেখছি , কারণ সিমলিঙ্কযুক্ত ইনস্টলটি কখনও কখনও ব্যথা হতে পারে এবং নতুন ডিরেক্টরি বা পাথগুলি যোগ করার সময় আপনাকে ট্রিপ করতে পারে যা পূর্বে সিলেক্ট করা হয়নি adding মোডম্যান দ্বারা

আগ্রহী হতে পারে এমন লিঙ্কগুলি

ডিবাগ

  1. composer require namespace/module dev-branch-name-here -vvvস্থানীয়ভাবে আপনি যে শাখাগুলি ব্যবহার করতে পারেন তা দেখতে ব্যবহার করুন।

  2. তা দুবার চেক minimum-stabilityএ সেট করা হয়েছে devপ্রকল্পে আপনি মধ্যে মডিউল ইনস্টল করছি।

  3. Your requirements could not be resolved to an installable set

প্যাট্রিক Schwisow এর মন্তব্য পড়ে পাওয়া এখানে

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

সংক্ষেপে আপনি composer.jsonএটি বিকাশের সময় নির্দিষ্ট সংস্করণে জোর করার জন্য আপডেট করতে পারেন , এটি পড়ার মতো করুন:

"namespace/module": "dev-branch-name-here as 1.2.3"

এখানে আরও একটি আকর্ষণীয় পদ্ধতির। আপনার
ইনপুটটির

1
এইটা ভালো. আমি pathপ্রজেক্ট মডিউলগুলির জন্য টাইপ রেপো ব্যবহার করি যা আমি পুনরায় ব্যবহার করব না এবং মডিউলগুলির জন্য আবার গিট বা প্যাক্যাগিস্ট ব্যবহার করব।
ডেভিড ম্যানার্স

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

@ লুকরডজার্স, এই কর্মপ্রবাহের সাহায্যে আপনি মোটেও মোডম্যান ব্যবহার করেন না এবং আপনার সমস্ত মডিউল ফাইলগুলি ম্যাজেন্টো ফাইলের ভিতরে রাখা হয়েছে? (আপনার এক্সটেনশনের জন্য আপনার কাছে। আধুনিক ফোল্ডার নেই)। আমি কি এটা ঠিক বুঝতে পেরেছি?
এমপিপ্লয়বি

আরে @ এমপ্লয়বাই, আমি সরাসরি মডম্যান ব্যবহার করি না। তবে, আমি নিশ্চিত নই যে কোটিয়া / ম্যাজেন্টো-সুরকার-ইনস্টলার এটি হুডের নীচে ব্যবহার করে, আমি একটি নতুন ম্যাজেন্টো 1 মডিউল সেটআপ করার পরে এটি বেশ কিছুক্ষণ হয়ে গেছে।
লুক রজার্স

6

আমি এখানে হার্ডকপির সাহায্যে মডম্যান ব্যবহার করছি, কোনও সিমলিংক নেই।

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

আমি এক্সওশন রিপোজিটরিগুলিতে সরাসরি ক্লোন করতে এওই রচয়িতা ইনস্টলারটির সাথে সুরকার ব্যবহার করি .modmanতবে গিড থেকে মডম্যানের সাথে মডিউলগুলি ইনস্টল করে খুব বেশি কাজ করি বলে মনে করি। যে কোনও উপায়ে আপনি সরাসরি মডিউল গিট সংগ্রহস্থলে কাজ করতে পারেন।


হ্যাঁ আমি মন্তব্যে বলেছি, কারণগুলির মধ্যে একটি কারণ উইন্ডোজ এবং আইআইআরসি ব্যবহার করে এমন একটি কারণ সিমলিংক ব্যবহার করে তাঁর সাথে আমাদের কিছু সমস্যা হয়েছিল
রাফেল

6
ওহ, আমি এটি দেখতে পাইনি। সেই
দেবকে

4

সুতরাং আপনার জন্য এখানে আমার ধারণাটি এমনকি Magento1 এর জন্যও সুরকারের সাথে কাজ শুরু করা। যদি আপনার নিজস্ব প্যাকেজিস্ট থাকে , তবে এখন গুগল মেঘ রয়েছে এবং আপনি পাবলিক প্যাকেজিস্ট ব্যবহার করতে পারেন যা এখন পরিচালনা করা খুব কঠিন নয়। আপনার Magento1 শপগুলিতে আপনার নতুন সংস্করণে "সহজ" অ্যাক্সেস থাকবে।

এর অর্থ হ'ল যখন কোনও নতুন সংস্করণ প্রকাশিত হয় আপনি composer updateএটি করতে পারেন এবং এটি আপনার জন্য অনুলিপি প্রক্রিয়াটি স্বয়ংক্রিয়ভাবে তৈরি করবে।

সুরকারের মাধ্যমে Magento1 এর জন্য https://github.com/Cotya/magento-composer-installer এ দেখুন ।

এই পদ্ধতির সাহায্যে আপনি সরাসরি বিক্রেতার ফোল্ডারের নীচে গিট সংগ্রহস্থলগুলিতেও কাজ করতে পারেন যদি আপনার এটিতে অনুলিপি করা থাকে .gitএবং পৃথক চেকআউট না করে তাদের রেপোতে ফিরে পরিবর্তন করতে পারেন। যদিও নোট করুন এখানে আপনার সাবধানতা অবলম্বন করতে হবে এবং নিশ্চিত হোন যে আপনি কী শাখায় আছেন তা আপনি জানেন অন্যথায় আপনি আপনার কোডটি মুছে ফেলতে পারেন (এটি কয়েকবার হয়ে গেছে)।

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