Mai bine să actualizați versiunea de cms


Propun să ia în considerare un astfel de caz mini:


Eu însumi sunt un designer de site-uri web, dar din cauza unor circumstanțe ușor de înțeles, în 70% din cazuri, după aceea (design) fac site-uri "la cheie" ("oh, cât de cool am găsit un programator" :).


Deoarece site-urile nu sunt mari, și cad sub conceptul de „promo -“ / întreprindere în ansamblu de lumină (fără integrari complexe etc.) am fost comandat freelancer samopisnaya cis-ka cu un set de funcții cele mai necesare.


Acum, acest sistem este de aproximativ 200-250 de unitati (de 3 ani), deoarece dezvoltarea este, în esență nici o îmbunătățire și iterații pentru a face globale ... Este timpul pentru etapele individuale (în cadrul proiectelor) a fost fixat și patch-uri o mulțime de găuri, bug-uri, finisaj noi module de funcții, a actualizat interfața de administrare. Acum, în sfârșit, am acest cod într-un singur loc.

1. Există parole pentru toate site-urile în care aș dori să actualizez codul sub formă de login: parola @ server.

2. Există cea mai recentă versiune a codului, pe care aș dori să o actualizez complet (sistem ramificat de foldere cu scripturi închise în ele). Este logic să presupunem că este proastă să demolezi - perezalit nu merge, tk. în aceleași foldere de nivel non-zero de cuibărire sunt șabloane, cache pagini, imagini etc.

3. Bugetul pentru acest lucru este minim (sau mai degrabă nu este, doar vrei să faci asta pentru pacea conștiinței, așa că sunt gata să plătesc pentru upgrade din buzunarul meu).


Sarcina este la fel de simplă ca 2 ruble:

Actualizați toate automat și imediat la cea mai recentă versiune :)


Voi fi foarte recunoscător pentru orice idei, link-uri, sfaturi, ce să citesc, exemple de soluții și programe de gata.

Uită-te la capistrano. În opinia mea, exact ceea ce aveți nevoie. Ceea ce nu este pe PHP (pentru un motiv oarecare, mi se pare ca CMS pe ea) - nu va alarmati pentru a învăța sintaxa este mult mai simplă decât config sintaxa „nativă» Phing, destinate aceluiași scop. Ruby trebuie instalat numai pe mașina locală. Documentația este excelentă, dar în limba engleză. Exemple de utilizare, inclusiv cele cu proiecte PHP, sunt de asemenea disponibile pe Habr.

La organizarea procesului - este dificil de a da sfaturi fără a cunoaște caracteristicile motorului și poate / ar trebui să existe diferențe în locuri diferite în codul și alte „cum să“ fișiere saytovonezavisimyh și schema bazei de date. Dacă se poate / trebuie apoi să fie sfătuiți să se familiarizeze cu sistemele de control al versiunii (eu personal prefer lui Mercurial, dar mai popular Git), dar ar trebui să îndeplinească, în orice caz cu ei. Și organizează structura registrelor centrale / sucursale ca aceasta: principala ramură / magaziei - Codul Comun (implicit + Design), o ramură de la ea / clone - codul pentru fiecare site (în cazul în care vă puteți pune șabloane saytospetsifichnye, imagini, etc ...). Următoarea actualizare a codului comun, la rândul său merzh (îmbinare) ramuri de cod / clone cu principalele (probabil pentru cazul dvs. clonelor mai bine) - ceva îmbinată automat undeva conflicte de arme pentru a rezolva va veni și umple pe server (pe unul bun, de asemenea, de testare preliminar, dar nu pare a fi cazul dvs.).

Bugetul este zero, dar câteva zile de cheltuieli vor trebui să studieze și să se organizeze. Dar apoi, orice editare (inclusiv schimbarea Isla schema de date), în depozitul principal va fi distribuit tuturor serverele unei singure echipe Capistrano, lăsând intacte nuanțele lor locale. Crede-mă, merită!

V-aș sugera să deschideți un depozit deschis (sau închis?) Din acest TSMS și să anunțați clienții despre actualizare. Cine are nevoie - să fie actualizați.