วิธีแยกแยะระหว่างการทดสอบและการผลิตอย่างมีประสิทธิภาพ?


15

บางครั้งคุณอาจต้องโคลนไซต์การผลิตของคุณไปยังไซต์ TEST หลังจากโคลนแล้วจะมีลักษณะเหมือนกันยกเว้น URL

โปรดแนะนำวิธีปฏิบัติที่คุณแนะนำเพื่อแยกความแตกต่าง front-end และ back-end ของเว็บไซต์ TEST ของคุณอย่างรวดเร็วและมีประสิทธิภาพเพื่อให้ PROD และ TEST ไม่สับสนโดยไม่ตั้งใจ

วัตถุประสงค์:

  • ป้องกันผู้ใช้ให้ป้อนข้อมูลการผลิตลงในไซต์ TEST โดยไม่ได้ตั้งใจ
  • ป้องกันนักพัฒนา (ผู้ทดสอบ ฯลฯ ) เพื่อทำการทดสอบในไซต์การผลิตโดยไม่ได้ตั้งใจ

คำตอบ:


10

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

โดยทั่วไปสิ่งที่ฉันต้องการทำคือการเพิ่ม HTML บางส่วนในหน้าใด ๆ (เกือบทุกหน้า) ที่ถูกสร้างขึ้น

สำหรับวันนี้ผมจะใช้Apache โมดูล mod_substitute โมดูลที่ตัวเองจะต้องมีการเปิดใช้งาน (โดยทั่วไปเพียงแค่ต้องการ # ความคิดเห็นออก) httpd.confภายใน

LoadModule substitute_module modules/mod_substitute.so

ถัดไปในไฟล์โฮสต์เสมือน ( httpd-vhosts.conf):

<VirtualHost *>
DocumentRoot "C:\...."
ServerName joomla-development

AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|</body>|<div style='position:fixed; left:100px; top:50px; background-color:red'><h1>DEV WEBSITE</h1></div></body>|i"

<Directory "C:\....">
    AllowOverride All
    Require all granted
    Order allow,deny
    Allow from all
</Directory>

</VirtualHost>

โดยพื้นฐานแล้วSubstituteฉันกำลังแทนที่</body>แท็กด้วย HTML บางอัน วิธีนี้ฉันพยายามที่จะไม่ใช้คำขอ Ajax ใด ๆ

ผลสุดท้าย:

ป้อนคำอธิบายรูปภาพที่นี่


13

การปฏิบัติที่เราติดตามคือ -

  1. เปลี่ยนชื่อเว็บไซต์ในการกำหนดค่าทั่วโลกเป็นชื่อเดิม [TEST]
  2. เปลี่ยนการกำหนดค่าอีเมลให้ชี้ไปที่ mailtrap.io
  3. หากไซต์ทดสอบอยู่บนเซิร์ฟเวอร์เดียวกันให้เปลี่ยนรายละเอียดฐานข้อมูล
  4. เปลี่ยนการบูรณาการบุคคลที่สามทั้งหมดเป็นบัญชีทดสอบ (บริการนอกเหนือจาก joomla) เช่น
    • Memcache หรือ redis
    • ฐานข้อมูล / จัดเก็บข้อมูลภายนอก
    • ช่องทางการชำระเงิน,
    • ระบบจดหมายข่าว (mailchimp)
    • บัญชีและโดเมน CDN
    • บัญชีบริการ Analytics (google Analytics, relic ใหม่)

ขอขอบคุณที่เพิ่มแนวทางปฏิบัติเหล่านี้ โดยเฉพาะอย่างยิ่งประเด็นที่2อาจมีความสำคัญเท่ากับการบิดเบือนของภาพ ฉันจะเพิ่ม " อย่าลืมเปลี่ยนการรวมเว็บไซต์อื่น ๆ ทั้งหมด " (ตัวอย่างเช่นฐานข้อมูลบุคคลที่สามหรือระบบการชำระเงิน)
miroxlav

ขอบคุณสำหรับเคล็ดลับใน mailtrap.io! มองเข้าไปที่ตอนนี้
Chad Windnagle

6

ฉันมีปัญหาเดียวกันกับลูกค้าบางครั้งการสร้างเนื้อหาในเวอร์ชันการพัฒนาไม่ใช่การผลิต ฉันใช้สิ่งต่อไปนี้เพื่อจัดการกับสิ่งนี้:

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

ป้อนคำอธิบายรูปภาพที่นี่


4

อีกวิธีหนึ่งคือให้เบราว์เซอร์ของคุณเพิ่มสไตล์ CSS ในไซต์ของคุณ

ปลั๊กอินของเบราว์เซอร์ที่มีสไตล์ ( สำหรับ FirefoxและChrome ) ได้รับการออกแบบสำหรับงานนี้ มันใช้CSS ที่กำหนดเองเพิ่มเติมกับทุกหน้าใน URL ที่กำหนด คุณกำหนดกฎจริง [URL] => [CSS]

ป้อนคำอธิบายรูปภาพที่นี่

ตัวอย่างข้างบน:ความแตกต่างสามารถทำได้โดยการเพิ่มเส้นทึบหรือเส้นประไปทางซ้าย
Red = การผลิต, สีเหลือง = pre-prod., สีเขียว = การทดสอบ, สีน้ำเงิน = การฝึกอบรม, สีเทา = DEV เป็นต้น

ข้อดี:

  • สามารถนำไปใช้กับเว็บไซต์การผลิตซึ่งปกติรักษาความสะอาดของสื่อช่วยการมองเห็น
  • สามารถปิดได้ชั่วคราวโดยผู้ใช้หากจำเป็น (ตัวอย่างเช่นสำหรับการจับภาพหน้าจอ)
  • โซลูชันสากล - สามารถใช้กับไซต์หรือส่วนใดก็ได้ (ตามเส้นทาง URL)
  • สามารถใช้งานได้โดยไม่ต้องมีผู้ดูแลระบบเข้าถึงเว็บไซต์ที่กำหนด
  • ติดตั้งครั้งเดียวไม่มีการบำรุงรักษาหากมีการเปลี่ยนแปลงเว็บไซต์

ข้อเสีย:

  • ปัจจุบัน จำกัด เฉพาะ Firefox และ Chrome (ยังคงไม่มีปัญหาสำหรับทีม DEV / TEST / Support ที่ได้ตกลงกันภายในเบราว์เซอร์หลักของพวกเขา)
  • การแชร์การตั้งค่าสไตล์ส่วนตัวของคุณกับผู้ใช้รายอื่นจะต้องใช้เวลามากขึ้น สำหรับเว็บไซต์ที่รู้จักกันทั่วไปนี่ไม่ใช่ปัญหา - ที่userstyles.org (บ้านของปลั๊กอิน) มีหลายพันสไตล์อยู่แล้ว ต้องการเห็น StackOverflow เป็นสีดำหรือมีช่องว่างระหว่างส่วนของหน้าน้อยลงหรือไม่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.