การพัฒนาการทดสอบและการปล่อย


10

คุณพัฒนาทดสอบและปรับใช้ไซต์ Wordpress ของคุณอย่างไร

โดยเฉพาะอย่างยิ่งที่มีความกังวลเกี่ยวกับฐานข้อมูลส่วนใหญ่เนื่องจากการมีเว็บไซต์ทดสอบจำเป็นต้องมีฐานข้อมูลใหม่ทั้งหมดที่จะนำไปใช้งานซึ่งบางครั้งอาจเหมือนกันทุกประการยกเว้นลิงก์ทั้งหมดจะเปลี่ยนเป็น ทดสอบ URL ไซต์แทนที่จะเป็นไซต์สด

ในทำนองเดียวกันการอัปโหลดใด ๆ ที่ผู้ใช้อัปโหลดตั้งแต่ครั้งสุดท้ายที่คุณต้องการแก้ไขข้อบกพร่องหรือพัฒนาสิ่งใหม่ ๆ จะต้องถูกคัดลอกไปยังไซต์ทดสอบ

คนอื่นทำอย่างไร คุณเพิ่งจะทนกับ faff? คุณใช้ระบบควบคุมเวอร์ชันที่ฉลาดซึ่งช่วยได้หรือไม่?

ขอบคุณ


หากคุณทำให้ระบบมีการหมุนรอบการแก้ไขไฟล์โฮสต์ของคุณคุณไม่จำเป็นต้องโคลนด้วย DB ทดสอบของคุณ ( wordpress.stackexchange.com/a/10943/9142 )
Alexander Bird

คำตอบ:


12

มีปรัชญาส่วนตัวเล็กน้อยที่เข้าสู่เวิร์กโฟลว์การปรับใช้ ไม่ใช่เรื่องง่ายที่จะตอบคำถามโดยไม่ทราบว่าคุณมีประสบการณ์กับเซิร์ฟเวอร์และการควบคุมเวอร์ชันระบบปฏิบัติการโฮสติ้งประสบการณ์ของลูกค้าและวัฒนธรรมด้านเทคโนโลยี ฯลฯ ...

  1. นี่เป็นคำถามที่คล้ายกันที่มีคำอธิบายมากมาย
  2. สำหรับการใช้งานเนื้อหาคุณสามารถตรวจสอบฝูงชนที่ชื่นชอบของปลั๊กอิน RAMP
  3. WP แฮกเกอร์เป็นหัวข้อที่ดีในการค้นหาข้อมูลที่ดีเกี่ยวกับการปรับใช้

ส่วนตัวฉันตรวจสอบให้แน่ใจว่าฉันไม่เคยรหัส URL ที่แน่นอนในรูปแบบของฉัน ใช้ bloginfo () หรือรหัสที่เกี่ยวข้อง URL ฉันใช้เงื่อนไขจำนวนมากในไฟล์ wp-config.php ของฉัน นี่คือรุ่น wanilla ของการแก้ไข wp-config ของฉัน

switch($_SERVER['SERVER_NAME']){
    case 'dev.yourdomain.com':
        $db_host = '';
        $db_pass = '';
        //define debugging
        break;
    case 'stage.yourdomain.com':
        $db_host = '';
        $db_pass = '';
        break;
    default: //Live
        $db_host = '';
        $db_pass = '';
}
define('DB_PASSWORD', $db_pass);
define('DB_HOST', $db_host);

//You could also set this as a variable above
define('WP_HOME', 'http://'.$_SERVER['SERVER_NAME']));
define('WP_SITEURL', 'http://'.$_SERVER['SERVER_NAME']));

ฉันทำงานกับเว็บไซต์จำนวนมากที่ติดตาม

  • ท้องถิ่น (แฮ็คส่วนตัว :) บนเว็บเซิร์ฟเวอร์แล็ปท็อปของฉัน)>
  • dev (ทดสอบบนไคลเอนต์เซิร์ฟเวอร์)>
  • สเตจ (แหล่งที่มั่นคงสำหรับ QA - การแก้ไขเนื้อหา)>
  • การผลิต (เว็บไซต์สด)

สุดท้ายนี้ฉันขอแนะนำให้คุณใช้เครื่องมือกำหนดเวอร์ชันเพื่อช่วยในการปรับใช้เช่น GIT หรือ SVN มันลดขั้นตอนอย่างมีนัยสำคัญและรักษาความสมบูรณ์ของแหล่งที่มาระหว่างสภาพแวดล้อม ความมุ่งมั่นในท้องถิ่นของคุณจะถูกปรับปรุงอย่างง่ายดายผ่านทางบรรทัดคำสั่งบนเวทีและการผลิต เป็นการดีที่สุดในระหว่างการค้นพบเพื่อกำหนดเวอร์ชันที่คุณและลูกค้าจะใช้ตั้งแต่เริ่มต้นหากพวกเขามีนักพัฒนาที่ทำงานในโครงการ ฉันใช้ GIT เป็นการส่วนตัวเพื่อควบคุมเวอร์ชันของฉัน อย่างไรก็ตามหากลูกค้าใช้ SVN ฉันจะผสมผสานสองอย่างนี้ในพื้นที่ของฉันดังนั้นฉันจึงรักษา repo ไว้สำหรับตัวเองในขณะเดียวกันก็ยอมรับ repo ของพวกเขาด้วย

เราไม่ค่อยมีปัญหาในการย้ายจากสภาพแวดล้อมหนึ่งไปอีกสภาพแวดล้อมหนึ่ง เราทำการค้นหา / แทนที่ในฐานข้อมูลเพื่อเปลี่ยน URL ให้สอดคล้องกับสื่อฝังตัว ฯลฯ ...


มันมีประโยชน์มาก! :) ขอบคุณมาก. ดังนั้นทุกครั้งที่คุณปรับใช้กับเซิร์ฟเวอร์ที่แตกต่างกันคุณทำซ้ำฐานข้อมูลจากเว็บไซต์สดหรือไม่ คุณบอกว่าคุณปรับใช้กับเซิร์ฟเวอร์ทดสอบ (stage.domain.com) สำหรับ QA และการแก้ไขเนื้อหา จะเกิดอะไรขึ้นถ้าฐานข้อมูลเปลี่ยนแปลงในขณะที่คุณใช้งานเซิร์ฟเวอร์เวทีบนเว็บไซต์ถ่ายทอดสด เช่นคุณหรือลูกค้าของคุณล็อกอินเข้าสู่สเตจและอัพเดตเนื้อหาบางส่วน แต่ในขณะเดียวกันผู้สนับสนุนโพสต์บทความใหม่บนไซต์สด คุณเพียงแค่ส่งผลกระทบต่อการแก้ไขเนื้อหาอีกครั้งบนไซต์สด คุณจะรับมือกับการเปลี่ยนแปลงโครงสร้างฐานข้อมูลได้อย่างไร
Thomas Clayson

ขออภัยเกี่ยวกับคำถามทั้งหมด! : p ฉันขอบคุณมากสำหรับเวลาของคุณและช่วย
Thomas Clayson

ในชุดคุณลักษณะใหม่คุณสามารถดึงจากสเตจ> สเตจ เพิ่มเนื้อหาสำหรับฟีเจอร์ใหม่จากนั้นกดสเตจหลัง> แยง จากตรงนั้นสเตจเป็นสำเนาที่มีความเที่ยงตรงสูงและคุณสามารถดึงสเตจ> dev บ่อยครั้งที่เราดึง DB กลับมาจากเวที การแลกเปลี่ยนส่วนใหญ่กับฐานข้อมูลนั้นเกิดขึ้นจากสเตจเป็นโปรดีเว้นแต่ว่าคุณสมบัติจะเปลี่ยนสถาปัตยกรรม db
Brian Fegter

หากคุณต้องการใช้สเตจสำหรับการปรับใช้เนื้อหาและอย่าแตะต้อง prod คุณสามารถตรวจสอบปลั๊กอิน RAMP ที่ฉันโพสต์ไว้ก่อนหน้านี้
Brian Fegter

+1 ทุกอย่างข้างต้นพร้อมเงื่อนไขที่ปลั๊กอินที่น่ารำคาญบางอย่างยืนยันในการจัดเก็บ URL ในอาร์เรย์ที่ต่อเนื่องกันซึ่งสามารถทำให้การย้ายสิ่งต่าง ๆ จากฐานข้อมูลหนึ่งไปยังอีก env ปัญหาคืออาร์เรย์เก็บอนุกรมความยาวของสตริงและเป็น borken เมื่อมีการเปลี่ยนแปลงความยาว ดังนั้นฉันขอแนะนำให้รักษาชื่อโดเมนของ env ไว้เหมือนกันถ้าเป็นไปได้ทั้งหมดเช่น dev.example.com, tst.example.com, www.example.com เป็นต้น
webaware
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.