ওয়ার্ডপ্রেস সাইটগুলির জন্য দেব, পর্যায় এবং উত্পাদন স্থাপনা?


41

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

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


pantheon.io এর একক ডোমেনের জন্য ডেভ, পরীক্ষা এবং লাইভ রয়েছে। তারা ফাইলগুলির জন্য গিট ব্যবহার করে এবং একক ক্লিকের মাধ্যমে তাদের মধ্যে ডাটাবেস স্থানান্তর করে। এটি চেষ্টা করার জন্য নিখরচায় এবং আপনি কেবল 'লাইভ' যাওয়ার সময় অর্থ প্রদান করতে পারবেন - youtube.com/watch?v=KpGTDeqwgX4
jgraup

উত্তর:


27

আমার একটি সেটআপ রয়েছে যার জন্য আমি বেশ গর্বিত এবং এটি আমার দলের পক্ষে অত্যন্ত কার্যকর।

সাধারণ কাঠামো

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

বিকাশ পরিবেশ

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

মঞ্চ পরিবেশ

যখন developকমিটগুলি শাখা থেকে গিটোসিসে ঠেলে দেওয়া হয় , তারা স্বয়ংক্রিয়ভাবে আমাদের মঞ্চের সার্ভারে স্থাপন করা হয়। স্টেজিং ডাটাবেসটি প্রোডাকশন ডাটাবেসের একটি দাস।

উৎপাদন পরিবেশ

কমিটসগুলিকে যখন masterশাখায় গিটোসিসে ঠেলে দেওয়া হয় , এটি স্বয়ংক্রিয়ভাবে প্রোডাকশন সার্ভারে স্থাপন করা হয়।

Wp-config.php ইস্যু ph

আপনি wp-config.phpসার্ভার থেকে সার্ভারে অনন্য হতে চান তবে আপনি এটি সংস্করণ নিয়ন্ত্রণে রাখতে চান। আমার সমাধানটি ছিল .gitignoreউপেক্ষা করা wp-config.phpএবং স্টেজিং এবং উত্পাদন সংস্করণগুলিকে আলাদা-নামযুক্ত ফাইল হিসাবে সংরক্ষণ করা store তারপরে প্রতিটি সার্ভারে, আমি উদাহরণস্বরূপ সিমলিংক করি wp-config.php -> wp-config-production.php। তারপরে প্রতিটি ব্যবহারকারী তাদের নিজস্ব শংসাপত্রাদি, নিজস্ব (অচিহ্নযুক্ত) ডাব্লুপি-কনফিগারেশন.এফপি সেটিংস সহ তাদের নিজস্ব ডিবি রাখে।

অন্যান্য নোট

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

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

মাস্টার / ডেভেলপ স্ট্রাকচারটি আংশিকভাবে ভিনসেন্ট ড্রাইসেনের ব্রাঞ্চিং মডেলের নকল করতে সেট করা আছে । আমি তার গিট এক্সটেনশন গিট- ফ্লোও ব্যবহার করি এবং আমি এটির জন্যও অত্যন্ত পরামর্শ দিই।

আমার 10 বা ততোধিক বিকাশকারী এখন এক বছরেরও বেশি সময় ধরে এই কাঠামোটি বন্ধ করে দিয়েছিল এবং এটি নিয়ে কাজ করার স্বপ্ন ছিল। নির্ভরযোগ্য, সুরক্ষিত, দ্রুত, কার্যকরী এবং চটজলদি, আপনি আরও কিছু চাইতে পারেন না!


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

1
আপডেট রুটিন দ্বারা ডিবিতে পরিবর্তনগুলি সম্পর্কে কী। প্রযোজনা ডিবিতে কীভাবে প্রভাবিত হয়?
paullb

এই কর্মপ্রবাহটি @ পলব সঠিক, এবং আপনাকে ডিবি আপডেটগুলি নিয়ে চিন্তা করতে হবে না। ওয়ার্ডপ্রেস যেভাবে কাজ করে, পরিবর্তনগুলি সনাক্ত হওয়ার পরে আপডেটগুলি ট্রিগার করা হয়, সুতরাং এটি ম্যানুয়াল আপডেটের (কোর বা প্লাগইন থেকে) ঠিক একইভাবে কাজ করে!
ম্যাথু বয়েনেস

@ মাথেজবয়েনেস, হ্যালো আপনি এখনও আপনার উন্নয়নের জন্য এই কর্মপ্রবাহ ব্যবহার করছেন? যদি তাই হয়, আমি আমার প্রকল্পে এই কর্মপ্রবাহ প্রয়োগ করতে যাচ্ছি। ধন্যবাদ :)
খাকিআউট

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

4

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

এটি দেওয়া হল, আমি এখানে যা ব্যবহার করি:

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

বিকাশ: আপনার ডব্লিউপি পরিবেশে আপনার রেপোর একটি কার্যকরী অনুলিপি চেকআউট করুন। প্রতিটি প্রতিশ্রুতিতে এই রেপো আপডেট করার জন্য এসভিএন-তে একটি পোষ্ট-কমিট হুক সেটআপ করুন। এটি এটিকে সিঙ্ক করে রাখবে। (এটিকে দরিদ্র ব্যক্তির একটানা সংহত হিসাবে বিবেচনা করুন))

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


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

1
পুরো ডাব্লুপি ডিরেক্টরিটি ভার্সন নিয়ন্ত্রণে না রাখার জন্য আপনার যুক্তি হিসাবে কেবল কৌতূহল। ওয়ার্কফ্লোতে এটি একটি বাধার মতো মনে হয়। রেপোতে ডাব্লুপি রাখলে সমস্ত ডিভাসকে একই কোডবেস এবং ডাব্লুপি সংস্করণ দেয়। এটি পরিবেশে অবিচ্ছিন্নতার জন্যও অনুমতি দেয়। শর্তসাপেক্ষে wp-config ফাইলগুলিতে উইকের লিঙ্কটি (তার উত্তরে) দেখুন।
ব্রায়ান ফেগার

2

আমরা সম্প্রতি র‌্যাম্প আবিষ্কার করেছি । দ্রষ্টব্য: এটি সম্পূর্ণ প্রক্রিয়াটির একটি অংশ, তবে সার্ভারের মধ্যে সামগ্রীর ডাটাবেসগুলি সিঙ্ক করা সম্ভবত এটির সবচেয়ে কঠিন অংশ।


2

আমি গিট এবং পারদর্শীতার সাথে এটি করছি, কেবলমাত্র আপনি কোনও ব্যক্তিগত রেপো ব্যবহার করছেন তা নিশ্চিত করুন।

বিকল্প 1.

একমাত্র সমস্যা হ'ল কনফিগারেশন। পিএফপি, যা আপনি গিটকে পুশ করতে বা ইনিশ করার আগে উপেক্ষা করতে পারেন।

ব্যবহার করুন .gitignoreবা git update-index --assume-unchanged config.php(অনুমান-অপরিবর্তিত কমান্ডটি ব্যবহার করার আগে এটি সম্পর্কে কিছুটা পড়ুন)

বিকল্প 2।

কনফিগারেশন। পিএফপিতে একটি শর্তসাপেক্ষ ব্যবহার করুন যা ইউআরএল পরীক্ষা করে এবং সঠিক পরিচয়পত্র প্রয়োগ করে, "যদি সার্ভার url = dev থাকে তবে শংসাপত্র এ ব্যবহার করুন, অন্যথায় শংসাপত্রগুলি বি" ইত্যাদি ব্যবহার করুন lines

মার্ক, এই ভাল ব্যাখ্যা করে http://markjaquith.wordpress.com/2011/06/24/wordpress-local-dev-tips/

গীত। আপনি traditionalতিহ্যবাহী "ফাইল সার্ভার" না রেখে দূরবর্তী রেপো থেকে সরাসরি ফাইলগুলি সার্ভার করতে পারেন। (এই http://www.youtube.com/watch?v=8ZEiFi4thDI সম্পর্কে আমি সত্যিই বিরক্তিকর ভিডিও তৈরি করেছি )

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