Soluţia definitivă pentru deployment de aplicaţii PHP
Eficientizare
Dezvoltând aplicaţii în limbajul PHP, orice dezvoltator ajunge la un punct în care de fiecare dată când clienţii doresc o modificare minoră a unui site, se pierde un pic de timp corectând problema dar mai mult timp actualizând conţinutul de pe serverele web.
Dacă ar exista o metodă de upload universală la un click de mouse, ar fi extraordinar pentru că s-ar câştiga timp preţios şi viaţa tuturor ar fi mai fericită. Clienţii ar putea fi taxaţi mai puţin pentru operaţiile de întreţinere şi profitabilitatea ar creşte.
Sunt în căutarea unui instrument orientat către dezvoltatorii de PHP care să rezolve următoarele probleme…
Transfer al aplicaţiei pe server
Partea care îmi place cel mai mult la PHP este că lansarea aplicaţiei constă doar în plasarea fişierelor într-un director. Nu este nevoie de nici o compilare, totul este simplu. Unde se află codul sursă al aplicaţiei la început:
- În sistemul de fişiere
- Într-un sistem de version control (ex: Subversion).
Vrem să-l punem pe server:
- Prin FTP, de exemplu pe shared hosting.
- SSH (SCP, SFTP).
Fişierele de configuraţie
În PHP pentru definirea setărilor (datele de conectare la baza de date, e-mail, debugging…) fiecare foloseşte propria metodă:
- XML, care permite editarea valorilor uşor de către un script
- Bazat pe un fişier de configurare .php, în funcţie de mediul de lucru (producţie/testare)
- Etc..
Baza de date
Atunci când modificăm structura unei baze de date, ar fi grozav dacă s-ar putea aplica schimbările şi pe server. Aici apare o problemă totuşi, pentru că nu putem face un dump întreg al bazei de date cât timp baza de date remote conţine date importante.
- Pentru scopuri simple, s-ar putea folosi aceeaşi bază de date pentru teste ca cea pentru producţie.
- Baza de date pentru teste diferită de cea live, caz în care sincronizarea va trebui făcută manual.
În cazul meu s-ar putea presupune că modificările din baza de date sunt atât de rare încât nu necesită automatizare.
Soluţia definitivă
Am auzit numele Capistrano, dar presupune o familiaritate cu ruby. Necesită ca acesta să fie instalat pe sistem.
Eu simt lipsa unei aplicaţii care să poată fi folosită pentru sincronizare. Ar putea consta în câteva tool-uri pentru command line şi o interfaţă grafică care să le apeleze. Ar putea face transferul către server şi ar putea interacţiona cu repository-uri. Eventual ar fi extensibilă prin module.
Soluţia definitivă eu nu am găsit-o. Presupun că există mulţi alţi dezvoltatori în această situaţie şi mă întreb cum ar fi dacă am avea acest software.
POST#0051 2008-JAN-30
Help improve the Fusion Blog - express your opinion about the content on this page: I like it Can be improved
Commentary:
No comments so far. Why not add one?

