আমার প্রথম ধারণাটি হ'ল:
# deploy into public_html_new, and then:
rsync -vaH --delete public_html_new/ public_html/
আরএসএনসি ব্যবহার করা ভাল সমাধান ছিল। এটি কেবলমাত্র সত্যই পরিবর্তিত ফাইলগুলি পরিবর্তন করেছে। সতর্কতা অবলম্বন করুন, শেষে প্যাশগুলি এখানে স্ল্যাশগুলি গুরুত্বপূর্ণ।
সাধারণত অ্যাপাচি পুনরায় চালু করার প্রয়োজন হয় না, এটি জাভা দুনিয়া নয়। এটি অনুরোধে প্রতিটি পিএইচপি ফাইলের পরিবর্তনের জন্য অনুসন্ধান করে এবং স্বয়ংক্রিয়ভাবে পরিবর্তিত হওয়াতে পুনরায় পুনরায় পড়া (এবং পুনরায় টোকেনাইজ) করে।
গিট টান একই রকম দক্ষ ছিল, যদিও এটি স্ক্রিপ্ট করা কিছুটা শক্ত ছিল। অবশ্যই এটি বিভিন্ন সংযুক্তকরণ / পরিবর্তন সনাক্তকরণের সম্ভাবনার বিস্তৃত বর্ণালী সক্ষম করেছে।
এই সমাধানটি কেবলমাত্র অবিচ্ছিন্নভাবে ঘটবে যদি সেখানে কোনও সত্যিকারের বড় পরিবর্তন না হয় - যদি মোতায়েনের ক্ষেত্রে বড় ধরনের পরিবর্তন ঘটে থাকে তবে কিছুটা বিপত্তি বন্ধ করা যায় না, কারণ একটি অবহেলিত সময় ব্যবধান নেই, যখন কোডটি আংশিকভাবে পরিবর্তিত হবে এবং আংশিকভাবে না।
যদি বড় পরিবর্তন হয় তবে আমার পরামর্শটি ছিল আপনার প্রাথমিক সমাধান (দুটি নাম পরিবর্তন)।
এখানে কিছুটা কঠিন, তবে 100% পারমাণবিক সমাধান:
(1) আপনার ম্যাজেন্টো স্থান গ্রহণ করে এমন কিছু ফাইল সিস্টেমের একটি বিকল্প মাউন্ট করুন:
mount /dev/sdXY /mnt/tmp
(২) --bind
আপনার সর্বজনীন_এইচটিএমএল_ নতুন পাবলিক_এইচটিএমএলে একটি মাউন্ট করুন:
mount --bind /path/to/public_html_new /path/to/public_html
এই জায়গা থেকে, অ্যাপাচি আপনার নতুন স্থাপনা দেখতে পাবে। 404 এর কোনও পরিবর্তন অসম্ভব।
(৩) আরএসসিএন-র সাথে সিনক্রোনাইস্টেশন করুন , তবে বিকল্প মাউন্ট পয়েন্টে):
rsync -vaH --delete /mnt/tmp/path/to/public_html_new/ /mnt/tmp/path/to/public_html/
(4) বাইন্ড মাউন্ট সরান
umount /path/to/public_html