Magento2 - স্থানীয় / মঞ্চায়ন / উত্পাদন স্থাপনা এবং গিটিংগোর


11

এটি একটি প্রশ্নের চেয়ে আরও এক ধরণের আলোচনা হতে পারে।

আপনি জানতে চান যে আপনি ম্যাজেন্টো 2 এবং স্থানীয় > মঞ্চ > উত্পাদন পরিবেশের সাথে কোন স্থাপনার নীতি অনুসরণ করেন

কিছু চেষ্টা করার পরে আমরা সেরা (বা কমপক্ষে, সর্বাধিক কঠিন) পদ্ধতির সিদ্ধান্ত নিয়েছি এই গিটিগনোর ফাইলটি গিটের মধ্যে বিক্রেতা ফোল্ডার সহ ।

.DS_Store
/.buildpath
/.cache
/.metadata
/.project
/.settings
atlassian*
/nbproject
/sitemap
/sitemap.xml
/.idea
/.gitattributes
/app/config_sandbox
/app/etc/config.php
/app/etc/env.php
/app/code/Magento/TestModule*
/lib/internal/flex/uploader/.actionScriptProperties
/lib/internal/flex/uploader/.flexProperties
/lib/internal/flex/uploader/.project
/lib/internal/flex/uploader/.settings
/lib/internal/flex/varien/.actionScriptProperties
/lib/internal/flex/varien/.flexLibProperties
/lib/internal/flex/varien/.project
/lib/internal/flex/varien/.settings
/node_modules
/.grunt
/pestle.phar
/pub/media/*.*
!/pub/media/.htaccess
/pub/media/catalog/*
!/pub/media/catalog/.htaccess
/pub/media/customer/*
!/pub/media/customer/.htaccess
/pub/media/downloadable/*
!/pub/media/downloadable/.htaccess
/pub/media/import/*
!/pub/media/import/.htaccess
/pub/media/theme/*
/pub/media/theme_customization/*
!/pub/media/theme_customization/.htaccess
/pub/media/wysiwyg/*
!/pub/media/wysiwyg/.htaccess
/pub/media/tmp/*
!/pub/media/tmp/.htaccess
/pub/media/captcha/*
/pub/static/***
!/pub/static/.htaccess

/var/*
!/var/.htaccess

.unison*
/sync.sh

সুতরাং আমরা কেবল স্থানীয় পরিবেশে সুরকার পরিচালনা করি: যে কোনও নতুন এক্সটেনশন বা সফ্টওয়্যার আপগ্রেড স্থানীয়ভাবে পরীক্ষা করা হয়, তারপরে বৈধ ও প্রতিশ্রুতিবদ্ধ। আমরা সম্ভবত তখন অ্যাপ্লিকেশন / ইত্যাদি / কনফিগারেশন ফাইলটি গিটে অন্তর্ভুক্ত করব তবে সেই ফাইলটি আবার চলার সময় আবার লেখা হয় setup:upgrade, তাই না?

সহ বিক্রেতা মানে সংগ্রহস্থলের আকারের তুলনায় বড় হতে হবে (হয়তো) প্রস্তাবিত কিন্তু এই ভাবে যখন কোড মোতায়েন, আমরা শুধু ক্রম সঞ্চালন করুন:

bin/magento setup:upgrade
bin/magento setup:di:compile (optional)
bin/magento setup:static-content:deploy

সম্পর্কিত তথ্য: http://www.damianculotta.com.ar/magento/gitignore-y-la-estrategia-de-deploys-en-magento2

দেখুন কেন আমরা সংকলিত কমান্ডটি বিকল্প Mচ্ছ Magento 2 - সেটআপ: di: সংকলন হিসাবে বেছে নিই ?

হালনাগাদ

সত্যটি হ'ল আমাদের প্রকাশিত ম্যাজেন্টো 2 প্রকল্পগুলিতে কোড পরিবর্তন স্থাপনের সময় আমরা কিছু সমস্যা করছি

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

প্রকৃতপক্ষে, প্রতিদিন আপনি ম্যাজেন্টো 2 প্রোডাকশন মোডের ইউটিলিটি সম্পর্কে আমি কম বিশ্বাস করছি, যদি না আপনি এই প্রকল্পে কোনও কিছু পরিবর্তন না করেন। আপনি আমার মন পরিবর্তন করতে পারেন?


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

উত্তর:


18

প্রকৃতপক্ষে, প্রতিদিন আপনি ম্যাজেন্টো 2 প্রোডাকশন মোডের ইউটিলিটি সম্পর্কে আমি কম বিশ্বাস করছি, যদি না আপনি এই প্রকল্পে কোনও কিছু পরিবর্তন না করেন। আপনি আমার মন পরিবর্তন করতে পারেন?

আমি আপনাকে সঠিক বুঝতে পেরেছি কিনা তা নিশ্চিত নই তবে প্রোডাকশন মোডটি হ'ল: এমন উত্পাদন সিস্টেম যেখানে আপনি কোনও পরিবর্তন করেন না (কোড ওয়াইজ)। পরবর্তী স্থাপনার আগ পর্যন্ত, তা।

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

আমি যা সুপারিশ করব:

  • আছে পুনরাবৃত্তি স্থাপনার, অর্থাত্ আপনি কি নিশ্চিত যে হওয়া উচিত সঠিক একই কোড প্রকাশনা যে উপস্থাপনকারী ছিলেন শেষ পর্যন্ত উত্পন্ন ফাইল সহ
  • এটি অর্জন করতে, স্থাপনা থেকে পৃথক বিল্ড এবং বিল্ড প্রক্রিয়াতে নিম্নলিখিতগুলি করুন:

    • composer install( vendorপরিবর্তে ভাণ্ডারগুলিতে যুক্ত করাও খুব সম্ভব, তবে আপনি যদি এটি স্থাপনের সময় সার্ভারে সুরকারকে চালনা এড়াতে না করে বরং বিল্ড স্টেপে করে কেবল রেপোতে রাখেন composer.lock)
    • কোড জেনারেশন (ওয়াইএমএমভি):

      bin/magento setup:di:compile
      bin/magento setup:static-content:deploy
    • একটি সংরক্ষণাগার (তৈরি বিল্ড হস্তনির্মিত বস্তু পূর্ণ Magento ডিরেক্টরি থেকে), ব্যতীত mediaএবং varকিন্তু সহ vendor, pub, var/generatedএবং var/di। থেকে শুরু করে , var/generatedএবং var/diকরার জন্য অনুপ্রাণিত হই generated/codeএবং generated/metadataযা সহজে তাদের বিশ্রামের থেকে আলাদা করে তোলে, varযা স্থাপনার জন্য উপেক্ষা করা উচিত।

  • স্থাপনার মধ্যে, বিল্ড আর্টিক্টটি লক্ষ্য সার্ভারে অনুলিপি করুন, এটি একটি নতুন ডিরেক্টরিতে বের করুন এবং:

    • তা ক্রমাগত ডিরেক্টরি লিঙ্ক ( media, var/session, var/log, ...)
    • রক্ষণাবেক্ষণ মোড সক্ষম করুন
    • ডকুমেন্টের রুটটি স্যুইচ করুন (সাধারণত ডকরোটটি সর্বশেষ রিলিজের একটি সিমিলিঙ্ক হয়, এটিকে নতুন রিলিজে পরিবর্তন করে)
    • ফ্লাশ ক্যাশে
    • চালান setup:upgrade
    • রক্ষণাবেক্ষণ মোড অক্ষম করুন
  • এই স্থাপনার প্রক্রিয়াটি সহজেই ডিপ্লোয়ারের সাথে প্রয়োগ করা যেতে পারে , যা ক্যাপিস্ট্রানো মতো তবে পিএইচপি-তে রয়েছে। আমদানিকারীর উপর ভিত্তি করে ম্যাজেন্টো 2 এর জন্য একটি সম্পূর্ণ স্থাপনার সমাধান এখানে পাওয়া যাবে: https://github.com/mwr/magedeploy2 (নেটজ98 এর জন্য ধন্যবাদ!) এবং এখানে আমরা ব্যবহার করি এমন অন্যটি এখানে রয়েছে: https://github.com/staempfli / magento2-স্থাপনার-টুল

  • app/etc/config.phpসক্ষম ও অক্ষম মডিউলগুলির ট্র্যাক রাখা ভান্ডারে রেখে রাখা ভাল।

এটি ধাপে ধাপে নির্দেশ নয় তবে এটি আপনার বর্তমান প্রক্রিয়াটির আরও শক্তিশালী বিকল্পের জন্য আপনাকে একটি ওভারভিউ দেওয়া উচিত। সম্পূর্ণ সমাধানটি দেখতে কেমন হতে পারে তা দেখার জন্য লিঙ্কযুক্ত সরঞ্জামগুলি একবার দেখুন।


আপনাকে অনেক ধন্যবাদ ফ্যাবিয়ান ... আমি ম্যাজেন্টো 1 তে ক্যাপিস্ট্রানো ব্যবহার করছিলাম এবং আমি ম্যাজেন্টো 2 এর জন্য অনুরূপ একটি সরঞ্জাম আবিষ্কার করার আশা করছিলাম ... আমি সপ্তাহের মধ্যে চেষ্টা করব এবং আপনাকে দেব আরও প্রতিক্রিয়া
রাউল সানচেজ

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

ব্যাখ্যার জন্য ধন্যবাদ. আপনার উত্তরে গিটিগনোর ফাইলটির সামগ্রী থাকতে ভাল লাগবে।
মেহেদি

@ মেহেদী .gitignoreফাইলটি প্রকৃত সমস্যার সাথে সম্পর্কিত নয়। আপনি কেবলমাত্র একটি ডিফল্ট ব্যবহার করতে পারেন।
ফ্যাবিয়ান শেমংলার

@ ফ্যাবিয়ানশ্মাঙ্গলার, আমার একই সমস্যা আছে, সমস্ত ফাইলের প্রতিশ্রুতি পরিবর্তনগুলি সমস্ত সিস্টেমে প্রতিটি স্থাপনার পরে প্রতিফলিত হবে, তবে অ্যাডমিন কনফিগারেশন সেটিংস কোনও থিম কনফিগার প্রতিফলিত করবে না, সমস্ত সিস্টেমে একাধিকবার একই সেটিংস কনফিগার করা এড়ানোর কোনও সমাধান আছে কি?
জাফর পিনজার 13

4

আমার মনে, ম্যাজেন্টো ২.২ অপেক্ষা করুন বা অনুরূপ পদ্ধতির প্রয়োগের চেষ্টা করুন।

ম্যাজেন্টো ২.২ প্রোডাকশন সার্ভারের সাথে বিল্ড সার্ভারকে পৃথক করে উদাহরণস্বরূপ পাইপলাইন স্থাপনার প্রবর্তন করে।

এখানে অফিশিয়াল ডকুমেন্টেশন রয়েছে: http://devdocs.magento.com/guides/v2.2/config-guide/depدام / pipline/

তদতিরিক্ত, বর্তমানে আমি কনফিগারেশন টেমপ্লেট এবং একাধিক পরিবেশ সেটআপ সহ স্বয়ংক্রিয় স্থাপনার পরিচালনা করতে জবাবদিহি ব্যবহার করছি।

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