ডাম্প ছাড়াই আমি কীভাবে অনন্য প্রোফাইল থেকে অনুরূপ সাইটগুলি স্থাপন / পরিচালনা করতে পারি?


15

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

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

আমি একই ইনস্টল প্রোফাইলগুলি ভাগ করে নেওয়ার জন্য বেশ কয়েকটি ডি 8 ইনস্ট্যান্স পরিচালনা করার চেষ্টা করেছি। যেখানে চূড়ান্ত লক্ষ্যটি হবে সাইটের কনফিগারেশনগুলি ভাগ করে নেওয়া এবং সিঙ্ক করা। এবং প্রতিটি ইনস্টলেশনের একটি আলাদা সাইট ইউআইডি থাকে। system.site uuidইনস্টল করার সময় কনফিগার ভেরিয়েবল কার্যকর করার ক্ষেত্রে আমার কোনও সাফল্য নেই (অবশ্যই আমি পরে মানটি পরিবর্তন করতে পারি তবে এটি আমার কাছে মনে হয়েছে যে এটি অনেক দেরি হয়ে গেছে, এবং সমস্ত অবজেক্ট ইতিমধ্যে বিভিন্ন ইউআইইডি দিয়ে তৈরি করা হয়েছে, যা প্রথম সিঙ্ক্রোনাইজেশনকে দুঃস্বপ্ন করে তোলে , যেখানে কিছু ডিফল্ট সামগ্রী অবশ্যই মুছতে হবে বা ডিফল্ট ভাষা সিঙ্ককে ক্র্যাশ করছে কারণ এটি মুছে ফেলা যায় না ইত্যাদি)।

এই ইউইউডি প্রয়োগ করার জন্য আমি $config['system.site']['uuid']ভিতরে একটি মান সহ একটি উত্পন্ন সেটিংস.এইচপিপি ফাইল ব্যবহার করার চেষ্টা করেছি , বড় ব্যর্থ (সেটিংটি সম্পূর্ণরূপে উপেক্ষা করা হয়েছিল, এমনকি সাইট ইনস্টলেশন পরেও)।

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

সুতরাং প্রশ্নটি হল, কোনও ইনস্টল প্রোফাইল থেকে তাজা সাইটগুলি মোতায়েনের সেরা উপায় কী:

  • "ক্লোনিং ওয়েবসাইটগুলি" ছাড়াই এবং এসকিউএল ডাম্পগুলিকে সাইট তৈরির সময়ে কারসাজি না করে ( ক্লোনিং সাইটের প্রশ্নগুলির মতো )।
  • শুধুমাত্র রফতানি কনফিগারেশন এবং কোড ব্যবহার করে একটি তাজা ক্লিন ইনস্টল (বিকাশকারীদের সামগ্রী আবর্জনা ছাড়াই) সহ
  • যা কনফিগারেশন ডিফল্ট এবং পরে সিঙ্ক্রোনাইজেশন উভয়ই পরিচালনা করতে পারে

উত্তর:


3

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

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

কনফিগারেশন ফোল্ডারে না থাকলে ওভাররাইড কনফিগারেশন এড়াতে আপনি ড্রাশের মাধ্যমেও সরাসরি কনফিগারেশন আমদানি করতে পারেন - স্পেসিটিভ পতাকা ব্যবহার করতে ভুলবেন না । - উত্স ব্যবহার করে আপনি একটি কাস্টম কনফিগারেশন ফোল্ডার অবস্থান নির্ধারণ করতে পারেন, যাতে আপনি এর মতো কিছু করতে পারেন drush cim --partial --source=docroot/modules/features/myfeature/config/install


ঠিক আছে, যদি আমি এটি ভালভাবে বুঝতে পারি তবে আপনি সোয়েম কী বৈশিষ্ট্যগুলিতে ওয়েবসাইট কনফিগারেশনগুলিকে সিঙ্ক্রোনাইজ করতে বৈশিষ্ট্যটি ব্যবহার করেন । ক্লোন করা ওয়েবসাইটগুলির সম্পূর্ণ কনফিগারেশন-সিঙ্ককে অনুমতি না দিয়ে।
রেজিলেরো

2
যথাযথভাবে। আমাদের জন্য সম্পূর্ণ কনফিগার সিঙ্কের মূল সমস্যাটি হ'ল প্রশাসকদের পরিবর্তন করতে পারে এমন একটি মাত্র সেটিংসই যথেষ্ট এবং আপনি আর সিঙ্ক করতে পারবেন না কারণ এটি তাদের পরিবর্তনকে ফিরিয়ে দেবে। এটিকে বৈশিষ্ট্যযুক্ত অংশে ভাঙা আমাদেরকে ক) একটি কনফিগারেশন সেট বজায় রাখতে (আংশিকভাবে, কারণ আমরা এটি কী তা বুঝতে পারি) এবং খ) বাকী বৈশিষ্ট্যগুলি এবং কীভাবে আমরা তাদের কনফিগারেশন পরিচালনা করি তার উপর নমনীয় থাকি।
বালাজস ডায়ানিস্কা

ঠিক আছে, এটি সম্ভবত চূড়ান্ত উত্তর নয় তবে আমি আপনাকে অনুগ্রহ দেব। যদি কেউ পরে একটি আপডেট উত্তর যুক্ত করতে চায় (জিনিসগুলি চলমান হিসাবে) তবে আমি সম্ভবত এটির জন্য অন্য একটি অনুগ্রহটি আবার খুলব।
রেজিলিও

1

অন্য বিকল্প:

drush config-set system.site uuid 56974bf2-68c2-3453-a211-de8bc754cc23

1

@ ইভান জারোস ইঙ্গিতের ভিত্তিতে, আপনি প্রোফাইল ইনস্টল করার পরে নির্দিষ্ট কনফিগারেশন বিকল্প সেট করতে পারেন। স্পষ্টতই, এটি কেবলমাত্র ইন্সটলেশনে কাজ করে এবং একবারেই কোনও সাইট ইনস্টল না হয়ে।

আপনার প্রোফাইলের। ইনস্টল ফাইলটিতে, আপনি এতে ডিফল্ট কনফিগারেশন সেটিংস যুক্ত করতে পারেন hook_install():

\Drupal::configFactory()
  ->getEditable('system.site')
  ->set('uuid', 'this is my new uuid')
  ->save(TRUE);

আমি স্থানীয়ভাবে এটি চেষ্টা করেছি এবং এটি কাজ করে। drush csetসাইটের ইউআইডি পরিবর্তন না করে উপরের কোডটি (যথাযথ ইউআইউডি সেট সহ) ব্যবহার করে আমি অন্য সাইট থেকে একটি নতুন ইনস্টল করা স্থানীয় সাইটে কনফিগারটি টানতে সক্ষম হয়েছি ।

সম্ভবত, আপনি আপনার ইউইউডি কোথাও আপনার পরিবেশের কোনও ফাইল থেকে নেওয়া যেতে পারেন, বা একটি পরিবেশের পরিবর্তনশীল, বা পরিষেবা, এবং এইভাবে সেগুলি ইনস্টল করা প্রোফাইলের সাথে যে কোনও সাইটে একই হবে।

আমি থেকে একটি অনুরূপ জিনিস কি আশা প্রকাশ করেন settings.phpকিন্তু ConfigFactoryশ্রেণী যে বিন্দু পাওয়া যায় না এবং আপনি মাধ্যমে এটি সেটিং আপনার প্রশ্নের আউট পয়েন্ট হিসাবে $configমধ্যে settings.phpকোনো প্রভাব নেই।

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