cicco7 ha scritto:
+m2+ ha scritto:
Personalmente faccio i miei script, che dipendono essenzialmente se file unici o cartelle intere (dinamiche).
spiegati un pochino meglio
Nel primo caso (su Windows) ncftpput per caricamenti FTP, in tutti gli altri rsync.
Do per scontato però di avere l'accesso completo al server (instaurazione di tunnel ssh con chiavi, per capirci) su cui poggiare rsync.
In assenza di supporto ssh quindi utilizzi principalmente il protocollo ftp (ncftpput)?
Ma ncftpput supporta gli script (tipo lftp)?
Ci sono due tipi, principalmente, di deploy.
1) caricamento di un singolo file (o di pochi file), sempre con lo stesso nome e nelle stesse posizioni.
(nel mio caso è il caricamento dell'aggiornamento del mio gestionale)
in questo caso uso file batch (windows) con il quale carico i file, via FTP, sul server non mio (hosting).
normalmente li riscarico con wget e controllo che siano identici a quelli caricati (non si sa mai nella vita)
ncftpput -u utente -p pippo ftp.ilmiobelsito.net /www/programmello/update f:\installa\storia\versione.txt f:\installa\storia\versione.htm f:\installa\storia\ilmiobelprogramma.exe
2) caricamento di interi siti, di cui a priori non so i nomi dei file (perchè variano mano a mano che li espando), su miei server dedicati, dei quali quindi ho accesso completo (ssh in particolare)
in questo caso faccio rsync delle cartelle dalla macchina locale a quella remota, copiando quindi tutto quello che
c'è dentro (sottocartelle, immagini, php e tutto il resto), mediante scriptini.
rsync mi sincronizza appunto le due cartelle, trasferendo un quantità modesta di informazioni (per modifiche piccole).
per completezza, all'interno del codice dei programmi, ho scritot una funzione issviluppo() la quale, testando l'IP del server su cui gira, decide quali siano i percorsi da utilizzare "capendo"
in tal modo il sito è lo stesso identico, ma si comporta in maniera diversa se eseguito in "locale" (sulla mia
macchina) o remoto (il server dedicato di produzione)
rsync.exe --omit-dir-times --append --no-owner --no-perms --partial --progress -e "ssh -p %PORTA% -i %CHIAVE% " -rlt --delete "/cygdrive/%PERCORSOWIN%" "%UTENTE%@%SERVER%:/dati/sincronizzachebelchebel/%UTENTE%/definitivo"
non uso strumenti di sviluppo "stile IDE" con caricamento automatico (ce ne sono tanti), perchè mi piace avere un controllo completo di quello che accade