ทันทีที่คุณสัมผัสหัวข้อการเปลี่ยนแปลงแบบขนานคุณจะสัมผัสกับส่วนของการจัดการการกำหนดค่า ด้วยรูปแบบมากมายชุมชนของตัวเอง (http://www.cmcrossroads.com/) และเครื่องมือไม่มากนักสำหรับการจัดการเวอร์ชัน (เช่น svn / git) แต่สำหรับการสนับสนุนการจัดการการกำหนดค่า (รูปแบบ) เช่น clearcase (พื้นที่ที่แตกต่างกันโดยสิ้นเชิง)
ในกรณีนี้มันยังคงเป็นสถานการณ์ที่ง่ายและคุณจะพบว่ามันทำงานได้กับข้อ จำกัด บางอย่างและงานที่ต้องทำด้วยตนเองและบางรายการ
สถานการณ์ที่ฉันคิดว่าจะทำให้มันเป็นคำอธิบายที่สมบูรณ์ของโซลูชันที่เหมาะสมที่สุด: นักพัฒนาหลายคนทำงานบนรหัสฐานเดียวกันสภาพแวดล้อมการทดสอบหลายสภาพแวดล้อมการยอมรับหลายสภาพแวดล้อมการยอมรับการผลิตที่หลากหลายในทุกมุมโลก
หากคุณต้องการทำสิ่งนี้ให้เป็นมืออาชีพมากขึ้น:
a) จดรายการของรายการกำหนดค่าทั้งหมดที่คุณพบซึ่งอาจเป็นรหัส WordPress เอง, ปลั๊กอินจากภายนอก, เนื้อหา, ข้อมูลเมตาและตัดสินใจว่าสิ่งใดที่คุณต้องการนำมาใช้ภายใต้ "การจัดการ" แบบใดที่สำคัญ
b) อธิบายเวิร์กโฟลว์ที่สามารถเกิดขึ้นได้เช่นสิ่งที่เกิดขึ้นกับการแก้ไขสิ่งที่เกิดขึ้นกับสิ่งใหม่ ๆ กำลังพัฒนาในกรณีใดที่คุณเปลี่ยนเนื้อหาในด้านของคุณสิ่งที่เรียกว่าและใครทำใครเป็นเจ้าของมัน เช่นโพสต์ใหม่หรือปลั๊กอินใหม่
c) สำหรับการทำงานแบบขนานก่อนอื่นให้อธิบายว่า CI ใดที่คุณต้องการจัดการตัดสินใจว่าการไหลนั้นมาจากการพัฒนาไปสู่การผลิตหรือถ้าจำเป็นจริง ๆ ที่ต้องทำทั้งสองวิธี
d) สำหรับ CI แต่ละประเภทภายใต้ (a) เขียนความละเอียด เช่นสำหรับทั้งหมดที่เป็นข้อความ (หรือข้อความที่ส่งออกเช่นไฟล์ php แต่ข้อความธรรมดาในไฟล์ XML) สามารถรวมกันได้ นี่ไม่มีปัญหาจริงๆ แต่คุณต้องมีเครื่องมือผสานที่ดี เช่นด้วย ClearCase คุณจะได้รับ 3 วิธีในการผสานสถานการณ์ต่อไปนี้: 1) การผสานเล็ก ๆ น้อย ๆ : มันจะทำสิ่งเหล่านี้โดยอัตโนมัติ 2) อัตโนมัติเล็กน้อย: มันจะทำสิ่งเหล่านี้โดยอัตโนมัติ แต่คุณต้องตรวจสอบมัน 3) เป็นข้อขัดแย้งเช่นใน 1 บรรทัดมีการเปลี่ยนแปลงหลายอย่าง ส่วนที่ไม่สำคัญคือส่วนที่น้อยที่สุดที่คุณต้องดูแลด้วยตนเองเครื่องมือการผสานที่ดีจะนำคุณไปสู่สิ่งนี้เช่นที่อยู่ใน clearcase (ซึ่งรวมถึงการรวมคำและที่คุณสามารถเชื่อมโยงในการรวมเชิงพาณิชย์หรือไม่ใช่เชิงพาณิชย์อื่น ๆ ชนิด) Furtermore หากคุณระบุไฟล์ภายใต้ (a) ที่ควรคัดลอกเท่านั้นพฤติกรรมของพวกเขาจะไม่ถูกรวมเข้าด้วยกัน แต่จะถูกคัดลอกเพียงวิธีเดียวในการเขียนทับเวอร์ชันอื่นโดยไม่ต้องรวม (เช่นปลั๊กอินที่คุณไม่ได้แก้ไข) หลายประเภทเหล่านี้เป็นไปได้ที่มีพฤติกรรมแตกต่างกัน แต่เขียนความสัมพันธ์ระหว่าง CI
จากนั้นสำหรับการผสานที่ไม่ใช่ข้อความคุณจำเป็นต้องตัดสินใจเกี่ยวกับวิธีการจัดการพวกเขาเช่นภาพที่มีการเปลี่ยนแปลงใน 2 แห่ง คุณสามารถตัดสินใจที่นี่ว่าการผลิตมักจะมีการตั้งค่า (อย่างน้อยนั่นคือสิ่งที่ฉันคิดว่า) ซึ่งทำให้มันง่าย
ดังนั้น ... เพื่อแก้ปัญหานี้คุณต้องใช้เครื่องมือการจัดการเวอร์ชันที่รองรับสตรีมที่แตกต่างกัน แต่ละสตรีมจะแทนส่วนหนึ่ง (สิ่งนี้อาจซับซ้อนมากขึ้นอยู่กับความต้องการของคุณ แต่ในกรณีนี้ฉันคิดว่ามันง่ายมาก)
หากตอนนี้คุณสามารถจัดการให้มีกระแสข้อมูลเหล่านี้ภายใต้การติดตั้ง WordPress ของคุณและซิงค์กับเนื้อหาของฐานข้อมูล ฯลฯ ... จากนั้นคุณสามารถทำการผสานในเครื่องมือ CM / versioning แล้วส่งออกกลับในสภาพแวดล้อมอื่น
สิ่งคือ ... คุณต้องเขียนสิ่งนี้ก่อน นี่ไม่ใช่การแฮกทางเทคนิค มันเป็นรูปแบบเริ่มต้นของการจัดการการกำหนดค่าดังนั้นไม่มีอะไรแปลกที่นี่ แต่คุณต้องจดไว้ คุณอาจพบว่าปลั๊กอินที่ติดตั้งทำการเปลี่ยนแปลงในฐานข้อมูลด้วยข้อมูลบางอย่างที่แตกต่างในสภาพแวดล้อมอื่นดังนั้นคุณต้องมีขั้นตอนเพิ่มเติมเกี่ยวกับเรื่องนี้
ในทางเทคนิคแล้วทุกอย่างเป็นไปได้ที่จะตรวจสอบhttp://www.cmcrossroads.com/forumsสำหรับสถานการณ์ที่ซับซ้อนกว่าหลายสิบหรือหลายร้อยเท่า แต่มักจะใช้วิธีการเดียวกันและใช้รูปแบบ CM ชุดเดียวกัน
กล่าวโดยย่อ: วางเลเยอร์การจัดการเวอร์ชันไว้ด้านล่างทำการผสานและจัดการข้อขัดแย้งจากนั้นนำเข้าในสภาพแวดล้อมเป้าหมาย คิดกลยุทธ์การสตรีมที่เหมาะสมที่นี่และจดบันทึก ดำเนินการจัดการ CM weeny bit ที่เล็ก นั่นจะเป็นวิธีแก้ปัญหาอย่างมืออาชีพหรืออาจจะติดตั้งโปรแกรมคัดลอก db สคริปต์และอื่น ๆ ...