CMS frissítése egyszerűbben?

Sziasztok!

Most ismerkedek Wordpress-szel, előtte Drupalt használtam.

Nincsen elegánsabb, jobb módszer arra, amikor verziófrissítésre, plugin frissítésre/installra, sminkváltásra stb. (tehát az éles odal módosítására) van szükség annál, amit a dokumentációk írnak?

Amikor módosítani kell az éles weboldalt (pl. verziófrissítés), akkor így írják le a procedúrát:
1. Csinálj backupot
2. Először teszteld az adott műveletet (új plugin, frissítés stb.) lokális tesztkörnyezet alatt
3. Ha minden jól ment, tedd offline módba az éles oldalt, másold fel a szükséges fájlokat, végezd le a beállításokat, és ha minden jó, tedd online módba az oldalt

De mi van, ha:
-máshogy van beállítva, más a verziója a lokális tesztkörnyezetnek (Apache, PHP, MySQL), mint az éles szervernek, és emiatt lokálisan nem jön elő az a hiba, ami éles oldalnál igen?
-vmi hiba történik az éles oldal frissítése közben, és helyre kell állítani az adatbázist vagy a fájlokat, de azok nagyon nagy méretűek?
-nem akarom túl sokat offline módban hagyni az oldalt, de a másolgatás, frissítés sok idő?

Nincsen egy olyan módszer, ahol egyáltalán nem kell lokális tesztkörnyezetet használni, hanem az éles szerveren alakítok ki egy tesztoldalt (az éles oldal pontos mása), azon végzem el az oldal módosítását, majd szinkronizálom az éles- és a tesztoldalt?

Szóval egy olyan progi kéne, ami ezeket tudja:
1. Gombnyomásra klónozza az éles weboldal fájlait és adatbázisát mondjuk a dev.example.com címre (example.com az éles oldal). De ugye a dev.example.com egészét jelszóval kell védeni, hogy ne indexeljék a keresők, és ne lássák a látogatók
2. Ezen a klónozott oldalon végzem el az éppen szükséges fejlesztést, pl. verziófrissítés, designváltás, olyan plugin installálása, ami adatbázisváltozást is okoz, és összeakadhat más pluginekkel stb. Ha vmit elrontok, gombnyomással visszaállítható az eredeti állapot a tesztoldalon.
3. Ha kész vagyok a fejlesztéssel és minden jól működik, akkor a program automatikusan szinkronizálja a tesztoldal és az éles oldal fájlait és adatbázisát. Ugyanis amíg dolgoztam a tesztoldalon, addig az éles oldalnak módosulhattak a fájlai és az adatbázisa is, pl. új felhasználók regisztráltak, a felhasználok új fórumtémákat/hozzászólásokat írtak stb. Tehát a programnak vhogy automatikusan felül kéne írnia a régi, éles oldal adatbázisát és fájlait úgy, hogy ne vesszen el a felhasználók által időközben létrehozott tartalom, meg az új regisztrált felhasználók adatai stb. Továbbá ismerje fel, hogy a tesztoldal más domain alatt futott, mint az éles, ezt is intézze el magától.

Így minimálisra lehetne csökkenteni az állásidőt, ha gyors a szerver, akkor akár csak néhány percig lenne offline az oldal.

Tudtok vmi ilyesmi megoldást?

Hozzászólások

pl svn:
trunk/ -> trunk.akarmi.com
staging/ -> staging.akarmi.com
live/ -> www.akarmi.com

Ezeket post-commit hook-kal auto checkout-olni. (de szep hunglish mondat...)

A trunk/staging paros kozul az egyiket ki is lehet hagyni, foleg ha kicsi a project, mert az ember hajlamos nem betartani a menetet.

live-ot kiveve a tobbi csak dev ip-krol erheto el (pl iroda), vagy ssl alol kliens kulccsal (nalam igy szokott menni minden, mert konnyu osszeloni svn-el, trac-el, stb-vel)

Igy egyedul DB modositasnal leszel offline, amig a frissited a live alattit.

Hal istennek nagyon ritkan van szerencsetlensegem cpanelhez es tarsaihoz.
Nem tudom, hogy van-e hozzajuk ilyesfajta plugin, de szvsz ahhoz, hogy egy rendes fejlesztoi kornyezetet osszerakj kell legyen rendes hozzaferesed az adott gephez.
Ha webhosting/cpanel/ftp alapu a dolog, akkor nagyon be leszel korlatolva a lehetosegek teren.