আমার একটি সেটআপ রয়েছে যার জন্য আমি বেশ গর্বিত এবং এটি আমার দলের পক্ষে অত্যন্ত কার্যকর।
সাধারণ কাঠামো
আমি পুরো ইনস্টলেশনটি গিটের নিচে রাখি। সমস্ত পরিবর্তনগুলি, এটি সিস্টেম আপডেট হোক, একটি প্লাগইন যুক্ত / আপডেট করা, কোনও থিম যুক্ত / আপডেট করা, একই ওয়ার্কফ্লোতে যেতে হবে। মুহুর্তের বিজ্ঞপ্তিতে পরিবর্তনগুলি আবার ঘুরিয়ে দেওয়া যায়। আমার একটি ডিপ্লোয়মেন্ট সার্ভার রয়েছে (একটি পুরাতন পি 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 বা ততোধিক বিকাশকারী এখন এক বছরেরও বেশি সময় ধরে এই কাঠামোটি বন্ধ করে দিয়েছিল এবং এটি নিয়ে কাজ করার স্বপ্ন ছিল। নির্ভরযোগ্য, সুরক্ষিত, দ্রুত, কার্যকরী এবং চটজলদি, আপনি আরও কিছু চাইতে পারেন না!