Bagaimana membedakan secara efektif lokasi pengujian dan produksi?

15

Terkadang Anda mungkin perlu mengkloning situs produksi Anda ke situs TEST. Setelah kloning, mereka terlihat identik kecuali URL.

Mohon saran praktik yang Anda sarankan untuk membedakan front-end dan back-end situs TEST Anda dengan cepat dan efektif sehingga PROD dan TEST tidak dapat secara tidak sengaja bingung.

Tujuan:

  • mencegah pengguna memasukkan data produksi ke situs TEST karena kesalahan
  • mencegah pengembang (, penguji, dll.) untuk melakukan pengujian di situs produksi karena kesalahan
miroxlav
sumber

Jawaban:

10

Ini adalah solusi yang agak sangat teknologi karena membutuhkan beberapa pengalaman dalam mengkonfigurasi Apache. Keuntungannya adalah Anda tidak perlu meretas file apa pun di Joomla! instalasi itu sendiri.

Pada dasarnya yang ingin saya lakukan adalah menambahkan beberapa HTML ke halaman mana saja (hampir semua halaman) yang dihasilkan.

Untuk ini saya akan menggunakan Modul Apache mod_substitute . Modul itu sendiri perlu diaktifkan (biasanya hanya perlu # komentar dihapus) di dalamnya httpd.conf.

LoadModule substitute_module modules/mod_substitute.so

Berikutnya dalam file host virtual ( 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>

Pada dasarnya dengan Substitutesaya mengganti </body>tag dengan beberapa HTML. Dengan cara ini saya mencoba menghindari permintaan Ajax.

Hasil akhir:

masukkan deskripsi gambar di sini

Valentin Despa
sumber
13

Praktek yang kita ikuti adalah -

  1. Ubah judul situs web dalam konfigurasi global menjadi judul asli [TEST].
  2. Ubah konfigurasi email untuk menunjuk ke mailtrap.io
  3. Jika situs pengujian berada di server yang sama, ubah rincian basis data.
  4. Ubah semua integrasi pihak ketiga ke akun pengujian (layanan di luar joomla) misalnya
    • Memcache atau redis
    • basis data / penyimpanan eksternal
    • gerbang pembayaran,
    • sistem buletin (mailchimp)
    • Akun dan domain CDN
    • Akun layanan Analytics (google analytics, new-relic)
Shyam
sumber
Terima kasih telah menambahkan praktik ini. Terutama poin # 2 bisa sama pentingnya dengan distensi visual. Saya juga akan menambahkan " jangan lupa untuk mengubah semua integrasi situs lainnya " (misalnya ke database pihak ke-3 atau ke sistem pembayaran).
miroxlav
Terima kasih atas tipnya di mailtrap.io! Melihat itu sekarang.
Chad Windnagle
6

Saya memiliki masalah yang sama dengan klien terkadang membuat konten pada versi pengembangan bukan produksi. Saya menggunakan yang berikut ini untuk menangani ini:

  • Ubah semua nama basis data dan kata sandi
  • Ubah template admin dengan
    • Latar belakang yang berbeda untuk layar masuk
    • Warna berbeda untuk bilah atas
  • Gunakan modul dalam posisi yang menonjol di ujung depan yang jelas menunjukkan ini adalah lokasi produksi
  • Di beberapa situs saya juga memaksa login untuk melihat situs pengembangan

masukkan deskripsi gambar di sini

pembuat tim
sumber
4

Pendekatan lain adalah membiarkan browser Anda menambahkan gaya CSS ke situs Anda.

Plugin browser yang stylish ( untuk Firefox dan untuk Chrome ) dirancang untuk tugas ini. Ini menerapkan CSS khusus tambahan untuk setiap halaman di URL yang diberikan. Anda sebenarnya mendefinisikan aturan [URL] => [CSS].

masukkan deskripsi gambar di sini

Contoh di atas: pembedaan dapat dibuat dengan menambahkan garis padat atau titik-titik di sebelah kiri
Merah = produksi, Kuning = pra- produksi , Hijau = UJI, Biru = Pelatihan, Abu-abu = DEV dll.

Keuntungan:

  • Dapat diterapkan ke lokasi produksi yang biasanya tetap bersih dari alat bantu visual.
  • Dapat dimatikan untuk sementara waktu oleh pengguna jika diperlukan (misalnya untuk mengambil tangkapan layar).
  • Solusi universal - dapat diterapkan ke situs atau bagian mana pun (berdasarkan jalur URL).
  • Dapat digunakan tanpa akses administrator ke situs web yang diberikan.
  • Pengaturan sekali, tidak ada pemeliharaan jika situs berubah.

Kekurangan:

  • Saat ini terbatas pada Firefox dan Chrome. (Masih tidak ada masalah untuk tim DEV / TEST / Support yang disetujui secara internal pada browser utama mereka.)
  • Membagi pengaturan gaya Anda secara pribadi dengan pengguna lain membutuhkan lebih banyak pekerjaan. Untuk situs web yang diketahui publik, ini bukan masalah - di userstyles.org (rumah plugin) sudah ada ribuan gaya. Ingin melihat StackOverflow berwarna hitam atau dengan sedikit ruang di antara bagian halaman?
miroxlav
sumber