Pagina 1 di 1

consigli su sviluppo sito web

Inviato: mer 8 ott 2008, 21:51
da danix
Ciao a tutti...
vi spiego la mia situazione di partenza...
sto sviluppando un sito web, inizialmente ci lavoravo solo da casa e quindi non c'erano problemi, adesso però ci lavoro anche su un portatile in modo da poter effettuare modifiche al volo quando non sono a casa. Il guaio che si viene a creare in questa situazione è quello di avere 2 versioni discordanti dello stesso sito.
Mi trovo ad esempio a lavorare su una sezione piuttosto complessa a casa e faccio delle modifiche ad una galleria d'immagini a lavoro dal portatile, come faccio a tenere unito il progetto in queste condizioni??


Grazie mille dei consigli...

Re: consigli su sviluppo sito web

Inviato: mer 8 ott 2008, 22:14
da kreen
Ciao Danix85,
non sono uno sviluppatore web, però, se ho capito il problema, credo che CVS possa fare al caso tuo. L'ho usato con delle altre persone qualche annetto fa e ci fu di aiuto.
Fai finta di essere due persone diverse che lavorano da postazioni diverse allo stesso progetto :-)

Parti da qui.

http://it.wikipedia.org/wiki/Concurrent_Versions_System

So che esiste anche GIT, che però non ho mai provato e che lavora in modo un po' diverso da CVS. Da google la home page risulta:

http://git.or.cz/

Prova a dare un'occhiata e se scegli uno dei due, magari posta anche il perché, se vuoi.

Re: consigli su sviluppo sito web

Inviato: mer 8 ott 2008, 22:49
da cymon
Sicuramente CVS (bhe, dai, meglio SVN, comunque) può dare una mano per quello che riguarda sviluppo, ma significherebbe avere lo "staging" sul server così da poterlo usare per sincronizzare le versioni...
Secondo me molto dipende dalla morfologia del sito... ad esempio bisogna capire se le sezioni sono divisibili o no... Lo so che sembra un'idea un po' maniaca, ma io mi sono abituato a pacchettizzare. Sei a casa, fai le modifiche che vuoi, le chiudi in un tar e per portare in produzione esplodi il pacchetto. A questo punto non ti ci vuole niente a fare la stessa cosa sul portatile e tenere tutto allineato.
Questione diversa il DB, ma spesso non è necessario avere tutti i dati di produzione anche in locale, a meno che non modifichi così anche quelli... nel caso, prima di metterti a lavorare su una sezione, l'unica e fare un bel dump e riprodurre tutto.
Comunque, ripeto, dipende moltissimo dalla morfologia del sito e dallo sviluppo che fai. Se sei in un periodo molto dinamico basta manutenere per ogni copia la parte utile al procedere e poi ricordarsi, quando si è finito l'aggiornamento, di riallineare tutto.

Re: consigli su sviluppo sito web

Inviato: gio 9 ott 2008, 8:12
da aschenaz
Ma devi sfornare siti in produzione industriale? :)

Se si (te lo auguro) allora le soluzioni di cui sopra sono opportune.

Altrimenti, se come me ne hai due o tre da seguire, butti i file su gmail
e li hai sempre a disposizione dovunque ti trovi.
Naturalmente mai i file in un solo posto (io mi porto sempre appresso
anche una pennetta). Una volta che mi ero limitato alla sola pennetta,
ho fatto un taglia-copia frettoloso ma all'inverso (vecchio su nuovo) e
mi è toccato riscrivere centinaia di righe di codice! #-o

Re: consigli su sviluppo sito web

Inviato: gio 9 ott 2008, 9:12
da Sustuso
Concordo con aschenaz, se sei il solo a sviluppare non penso abbiano molto senso soluzioni complesse.

Metti tutto si gmail o ti crei (sul tuo dominio stesso) una directory dove metti il sito "in lavorazione", così quando finisci di lavorare fai l'upload. Se cambi pc come prima cosa ti scarichi tutto il sito.

Saluti.

Re: consigli su sviluppo sito web

Inviato: gio 9 ott 2008, 9:26
da danix
accidenti, ultimamente non mi spiego mai bene quando scrivo sul forum... #-o
non devo gestire progetti eccessivamente grandi, quindi tendo ad escludere l'opzione svn, cvs, git e quant'altro, o meglio... all'inizio pensavo proprio a questi, però temevo si sarebbe trattato di qualcosa di eccessivo viste le dimensioni dei progetti a cui lavoro... allora ho pensato di chiedere a voi...
Visto che avete confermato le mie ipotesi devo trovare una soluzione più alla buona, anche in virtù del fatto che quando sono fuori casa e lavoro al sito non sempre ho la possibilità di accedere ad internet...

Avete qualche idea alla luce di queste sconcertanti rivelazioni?? :lol:

Re: consigli su sviluppo sito web

Inviato: gio 9 ott 2008, 9:39
da aschenaz
danix85 ha scritto:accidenti, ultimamente non mi spiego mai bene quando scrivo sul forum... #-o
non devo gestire progetti eccessivamente grandi, quindi tendo ad escludere l'opzione svn, cvs, git e quant'altro, o meglio... all'inizio pensavo proprio a questi, però temevo si sarebbe trattato di qualcosa di eccessivo viste le dimensioni dei progetti a cui lavoro... allora ho pensato di chiedere a voi...
Visto che avete confermato le mie ipotesi devo trovare una soluzione più alla buona, anche in virtù del fatto che quando sono fuori casa e lavoro al sito non sempre ho la possibilità di accedere ad internet...

Avete qualche idea alla luce di queste sconcertanti rivelazioni?? :lol:
Due (almeno) pennette e lavori là sopra.

Così se ne perdi/rovini/distruggi una, hai sempre l'altra! :)

Re: consigli su sviluppo sito web

Inviato: gio 9 ott 2008, 9:56
da puzuma
Le soluzioni sono tre:

1. come ti hanno detto altri sviluppi su una pennetta usb e ti scrivi uno script che ti fa un backup sul disco rigido (indipendentemente da dove ti trovi basta avere un backup)
2. se quando sei a casa portatile e pc si "vedono" in rete allora usa SVN, è semplicissimo da usare per cose semplici (se vuoi ti scrivo in tre righe come creare il repository e come lavorarci sopra) e hai il vantaggio impareggiabile che ti conserva le vecchie versioni dei tuoi file (non sai quante volte capita di voler dare un'occhiata a una versione vecchia di una procedura).
3. ti fai un po' di script con rsync.

Personalmente userei senza pensarci SVN, i vantaggi che da sono troppi, quando hai imparato ad usarlo poi non puoi più farne a meno.

Re: consigli su sviluppo sito web

Inviato: gio 9 ott 2008, 12:38
da cymon
puzuma ha scritto:Le soluzioni sono tre:

1. come ti hanno detto altri sviluppi su una pennetta usb e ti scrivi uno script che ti fa un backup sul disco rigido (indipendentemente da dove ti trovi basta avere un backup)
2. se quando sei a casa portatile e pc si "vedono" in rete allora usa SVN, è semplicissimo da usare per cose semplici (se vuoi ti scrivo in tre righe come creare il repository e come lavorarci sopra) e hai il vantaggio impareggiabile che ti conserva le vecchie versioni dei tuoi file (non sai quante volte capita di voler dare un'occhiata a una versione vecchia di una procedura).
3. ti fai un po' di script con rsync.

Personalmente userei senza pensarci SVN, i vantaggi che da sono troppi, quando hai imparato ad usarlo poi non puoi più farne a meno.
Quoto. Io anche per le cose semplici uso SVN, anche con una sola WORKAREA, per tracciare gli avanzamenti dei lavori che faccio e gestire meglio i files. Una volta configurato (5 minuti) si tratta solo di premere un tasto in più ogni tanto. Oltretutto il momento del submit è buono per dare un'ultima controllatina al codice, magari fare un bel diff sulla versione precedente per vedere di aver toccato solo e unicamente quello che ti interessa e ti permette di razionalizzare meglio il lavoro.

Re: consigli su sviluppo sito web

Inviato: gio 9 ott 2008, 16:39
da danix
:D
grazie davvero delle risposte...
Credo che prenderò un po' di tutti i suggerimenti, quindi visto che mi avete incuriosito proverò SVN se puzuma sarà così gentile da buttarmi giù quelle 3 righe in cui mi spiega come configurare il repo e usarlo... e visto che Nino mi ha spaventato abbastanza sul fatto di non avere sufficienti backup :D credo che preparerò uno script che faccia il backup in un tar.gz e lo uppi in una directory nascosta sul sito, e ne mandi una copia al mio HD esterno... ;)
Sperando che Murphy sia clemente...


Aspetto notizie... grazie a tutti... ;)

Re: consigli su sviluppo sito web

Inviato: ven 10 ott 2008, 9:43
da puzuma
danix85 ha scritto: se puzuma sarà così gentile da buttarmi giù quelle 3 righe in cui mi spiega come configurare il repo e usarlo...
se ho capito bene hai 2 computer, un portatile e un fisso, supponiamo che il fisso è quello più affidabile, allora fai così:

nel fisso:

Codice: Seleziona tutto

svnadmin create [PATH_DOVE_VUOI_CREARE_REPO]/[NOME_REPO]
poi crei una directory temporanea che userai per l'importazione iniziale del tuo progetto:

Codice: Seleziona tutto

mkdir [IMPORT_MIO_PROGETTO]
mkdir [IMPORT_MIO_PROGETTO]/trunk
mkdir [IMPORT_MIO_PROGETTO]/tags
mkdir [IMPORT_MIO_PROGETTO]/branches
probabilmente non useari tags e branches, ma sono gratis e tanto vale averli (e tutti gli esempi che trovi fanno riferimento a una struttura fatta così)

a questo punto copia il tuo progetto in trunk:

Codice: Seleziona tutto

cp -R [MIO_PROGETTO]/* [IMPORT_MIO_PROGETTO]/trunk/
ora puoi finalemente importare tutto nel repository:

Codice: Seleziona tutto

cd  [IMPORT_MIO_PROGETTO]
svn import . file:///[PATH_DOVE_VUOI_CREARE_REPO]/[NOME_REPO] -m "initial import"
adesso il tuo progetto è importato in svn e puoi cominciare a lavorarci sopra.

per lavorare hai bisogno di una "copia di lavoro" (in sostanza il repository fa da contenitore centrale rispetto al quale sincronizzare tutte le varie copie di lavoro).

supponiamo che adesso devi uscire e lavorare sul portatile, allora dal portatile fai così:

Codice: Seleziona tutto

svn co svn+ssh://[IP_FISSO]/[PATH_DOVE_VUOI_CREARE_REPO]/[NOME_REPO]/trunk [directory_LOCALE]
Password: [forse te la chiederà 2 volte]
cd [directory_LOCALE]
[... modifichi un po' di file ...]

ora quando torni sul pc fisso per sincronizzare il repo:
controlli cos'hai modificato:

Codice: Seleziona tutto

svn status
eventualmente ti assicuri che le modifiche siano corrette:
svn diff [nome_file_modificato]

infine fai il commit:

Codice: Seleziona tutto

svn commit -m "qui va il commento che spiega cos'hai fatto"
se poi vuoi lavorare su un'altra copia di lavoro, ad esempio sul fisso, basta che ripedi i passi precedenti.

quando poi vuoi aggiornare una copia di lavoro con le modifiche che stanno sul repo, basta che dai dalla directory di lavoro:

Codice: Seleziona tutto

svn update

e il gioco è fatto.

riassumendo, la parte lievemente complessa è creare il repo, poi userai solo svn status/update/commit e forse diff.