আমি এক বছর আগে এই প্রশ্নটি জিজ্ঞাসা করেছি, এবং সেই সময়ে আমরা আমাদের দলে আরও বেশি লোক যুক্ত করেছি এবং ওয়ার্ডপ্রেসে অনেক বড় সংখ্যক সাইট বিকাশ করেছি। আমি আমাদের প্রক্রিয়াটি যদি অন্য কাউকে সাহায্য করতে পারে সেজন্য চলতে চেয়েছিলাম।
গিট সব
প্রশ্নটি জিজ্ঞাসা করার সাথে সাথে এটিই আমি করছিলাম, তবে এই পয়েন্টটি বলা ভাল। গিট ব্যবহার করা কেবল আমাদের আরও উত্পাদনশীল হতে সহায়তা করে নি, তবে এটি আমাদের সমষ্টিগত গাধাগুলিও বেশ কয়েকবার বাঁচিয়েছে।
আপনার কি কখনও কোনও সাইটে প্রধান কাঠামোগত সংস্কার করা, কোনও ক্লায়েন্টের কাছ থেকে এই সংস্কারগুলির অনুমোদনের প্রয়োজন ছিল এবং নন-সংস্কারকৃত সংস্করণে সামান্য আপডেট করার দরকার পড়ে? আমাদের আছে, এবং গিট আমাদের এটি করতে দিন। এই সেটআপটি বর্ণনা করা কিছুটা দীর্ঘ-বায়ুযুক্ত পেতে পারে তবে মূল কথাটি হ'ল আমরা একটি নতুন শাখা তৈরি করেছি, সেই শাখাটি সার্ভারে টানিয়েছি এবং সেই শাখায় একটি সাবডোমেন সংযুক্ত করেছি।
আমরা গিট দ্বারাও রক্ষা পেয়েছি। এটি অবশ্যই আমাদের পরিবর্তনগুলি রোল করতে দেয়, যা দুর্দান্ত, তবে এটি আমাদের ফাইলগুলির পুরানো সংস্করণগুলি ফিরিয়ে আনতে সহায়তা করে। এর অর্থ যদি কোনও ক্লায়েন্ট জিজ্ঞাসা করে, "মনে রাখবেন যে সাইটের এই অংশটি প্রায় এক বছর আগে কীভাবে কাজ করেছিল? আমরা কী তা ফিরিয়ে আনতে পারি?", উত্তরটি হ্যাঁ - এমনকি যদি ব্যক্তি জিজ্ঞাসা করা হয় যে সেই প্রকল্পে এক বছর না ছিল? আগে।
এই বিষয়গুলির পাশাপাশি এটিরও অর্থ হ'ল আমাদের প্রয়োজনীয় ফাইলগুলি ছাড়া আমরা কখনই আটকে থাকি না। আমরা যেকোন মেশিন থেকে সাইটের সর্বশেষতম সংস্করণটি সর্বদা টানতে পারি এবং পরিবর্তনগুলি শুরু করতে পারি।
স্থাপন করতে গিট ব্যবহার করুন
আমরা মিডিয়া টেম্পলে আমাদের ওয়ার্ডপ্রেস হোস্টিং করি এবং আমরা তাদের সত্যই পছন্দ করি। তারা সস্তা সরবরাহকারী নয়, তবে তাদের পরিষেবাটি দুর্দান্ত এবং তাদের সার্ভারগুলি সত্যই ভাল সেট আপ হয়েছে। ডিফল্টরূপে গিটও সরবরাহ করে। এর অর্থ আমরা সার্ভারটিকে একটি গিট সংগ্রহস্থল হিসাবে সেট আপ করতে পারি এবং এসএফটিপি ব্যবহারের পরিবর্তে সেভাবে পরিবর্তনগুলি টানতে পারি। এর অর্থ হ'ল সার্ভারে কাজ করা ওভাররাইট করা হওয়ার ঝুঁকিতে নেই (কারণ এই পরিবর্তনগুলি কেবল মার্জ করে ব্যাক আপকে ধাক্কা দেওয়া যেতে পারে)।
যেহেতু আমরা বিটবাকেটকে আমাদের গিট হোস্ট হিসাবে ব্যবহার করি , এখানে এখানে অতিরিক্ত কিছু কাজ প্রয়োজন। সবার আগে আমরা .ssh / কনফিগারেশন ফাইলগুলি ব্যবহার করি যাতে আমরা ssh sitename
আমাদের সার্ভারগুলিতে লগ ইন করার মতো জিনিসগুলি টাইপ করতে পারি (আমরা পাসওয়ার্ডবিহীন এসএসএইচও ব্যবহার করি যা এটি অত্যন্ত সহজ করে তোলে)। আমরা সর্বদা এসএসএস পাসফ্রেজগুলি ব্যবহার করার বিষয়টি নিশ্চিত করে থাকি (ম্যাক ওএস এক্স আপনাকে কীচেইন.এ্যাপে আপনার পাসফ্রেজ সংরক্ষণ করার অনুমতি দিয়ে এটিকে খুব সহজ করে তোলে )। অবশেষে, আমরা যে হোস্টগুলি থেকে টানতে চাইছি সেগুলিতে .ssh / কনফিগার এন্ট্রিতে একটি ফরওয়ার্ড এজেন্ট লাইন যুক্ত করি। এর অর্থ হ'ল আমাদের কেবল বিটবকেটে প্রতিটি ব্যক্তির এসএসএইচ পাবলিক কী প্রয়োজন, এবং প্রতিটি সার্ভারের পাবলিক কী নয়। আমরা .git
ডিরেক্টরিটি সর্বজনীন এইচটিএমএল ডিরেক্টরিগুলির উপরে একটি ডিরেক্টরি রাখার বিষয়টি নিশ্চিত করে থাকি ।
স্বয়ংক্রিয় ডাটাবেস ডাম্প
সার্ভারটি একবার উত্পাদন মোডে আসার পরে , আমরা কেবলমাত্র সেক্ষেত্রে আমাদের ডাটাবেসটিকে স্বয়ংক্রিয়ভাবে ব্যাকআপ নিশ্চিত করে রেখেছি ।
প্রত্যেকের নিজস্ব ডাব্লুপি-কনফিগারেশন রয়েছে
যেহেতু আমরা সকলেই আমাদের নিজস্ব স্থানীয় ডাটাবেস ব্যবহারকারীর নাম এবং পাসওয়ার্ড পেয়েছি এবং আমরা বিভিন্ন নাম এবং পরিবেশন পদ্ধতি ব্যবহার করতে পারি তাই আমরা প্রত্যেকে আমাদের নিজস্ব wp-config ফাইল রাখি। এই প্রত্যেকটি মত একটি নাম দিয়ে গীত মধ্যে সংরক্ষিত হয় wp-config-gavin.php
, এবং যখন আমরা যে কনফিগ ব্যবহার করতে চান, আমরা সিমবলিক লিঙ্ক এটি wp-config.php
(যা ব্যবহার গীত দ্বারা উপেক্ষা করা হয় .gitignore )।
এটি আমাদের ডাটাবেস সারণীতে siteurl
বিকল্পটিকে ওভাররাইড করতে দেয় wp_options
:
define('WP_SITEURL', 'http://sitename.localhost');
define('WP_HOME', 'http://sitename.localhost');
এটি ওয়ার্ডপ্রেসটিকে সার্ভারের অবস্থানের জন্য ডেটাবেস দেখতে বাধা দেয় এবং এর অর্থ স্থানীয় এবং সার্ভার ইনস্টলের মধ্যে অবস্থানের মধ্যে কোনও অদ্ভুত পার্থক্য নেই।
Wp-config.php ফাইল সম্পর্কে একটি চূড়ান্ত নোট: সেগুলি সর্বজনীন এইচটিএমএল ডিরেক্টরিতে উপরে সংরক্ষণ করার বিষয়টি নিশ্চিত করুন এবং কেবল ওয়েব ব্যবহারকারীর জন্যই অনুমতিগুলি পড়তে নিশ্চিত করুন । এটি ওয়ার্ডপ্রেস সুরক্ষিত করতে একটি বিশাল পার্থক্য করে।
ডাটাবেস ইস্যু
অবশেষে বিষয়টি মাংসের।
আমার যেটি গ্রহণ করতে হয়েছিল তা হ'ল, ওয়ার্ডপ্রেস ব্যবহার করার সময় ডাটাবেস পরিবর্তনগুলি "মার্জ" করার ভাল কোনও উপায় নেই। পরিবর্তে, এটি সমাধান করার জন্য আমাদের আচরণের নিয়ম বিকাশ করা দরকার। নিয়মগুলি মোটামুটি সহজ, এবং এখনও অবধি আমাদের ভালভাবে পরিবেশন করেছে।
উন্নয়নের সময়, এমন একক ব্যক্তি আছেন যিনি সাইটের "মালিকানাধীন" আছেন। সেই ব্যক্তিটি সাধারণত সেটআপ করেন (হোস্টিং প্যাকেজ একসাথে পেয়ে, বেসক্যাম্প প্রকল্প শুরু করে, নকশাকে কাটা, সেই ধরণের জিনিস) does এই ব্যক্তি একবার যুক্তিসঙ্গত বিন্দুতে পৌঁছে গেলে ওয়ার্ডপ্রেস ইনস্টল করার জন্য ডাটাবেসটি ফেলে দিন এবং এটি গিটে রাখুন। সেদিক থেকে এগিয়ে, বিকাশকারী প্রত্যেকে সেই ডাটাবেস ডাম্পটি ব্যবহার করে, এবং কেবলমাত্র মালিকই সেই ডেটাবেজে পরিবর্তন করে।
সাইট বিল্ডটি আরও কিছুটা এগিয়ে যাওয়ার সাথে সাথে সাইটটি একটি সার্ভারে রাখা হয়। সেদিক থেকে সার্ভারের ডাটাবেসটি প্রচলিত। প্রত্যেককে (মালিক সহ) অবশ্যই সার্ভারে সমস্ত ডাটাবেস পরিবর্তন করতে হবে এবং স্থানীয় বিকাশ এবং পরীক্ষার জন্য পরিবর্তনগুলি নীচে টেনে আনতে হবে।
এই প্রক্রিয়াটি নিখুঁত নয়। এটি এখনও সম্ভব যে কারও কারও কাছে বিকাশের সময় স্থানীয়ভাবে ওয়ার্ডপ্রেস ব্যাকএন্ডে পরিবর্তন আনতে হবে এবং তারপরে আবারও সেই পরিবর্তনগুলি প্রযোজনাতে হবে। তবে আমরা খুঁজে পেয়েছি যে এই ধরণের জিনিসটি বিরল, এবং এই প্রক্রিয়াটি আমাদের পক্ষে মোটামুটি কার্যকরভাবে কাজ করে।