7 Nov
duccio

duccio il 7 November 2008 parla di Ajax/Web 2.0, Rails Snippet, Testing

Capistrano: uploadare un file non in SVN

Capistrano è favoloso per fare i deploy delle vostre applicazioni rails; suppongo che molti di voi usino delle cartelle collegate simbolicamente così da evitare di mettere nel vostro repositorio, SVN o GIT, file che cambiano spesso come i logs dell’applicazione o i tmp.

Non è il caso dei tmp o dei logs che vengono creati dall’applicazione in produzione, ma alcune volte può servire l’upload di altri file, ad esempio degli asset statici cachati, delle immagini della vostra applicazione in locale oppure di qualunque altro file serva all’applicazione ma che non deve stare nel repositorio.

Per questo vi aiuta capistrano con l’helper upload per usare scp:

    1 desc "Upload swf files"
    2 task :upload_swf, :roles => :app do
    3   top.upload("path_to_file/file", "/path_to_file/file", :via => :scp)
    4   top.upload("path_to_file/file", "/path_to_file/file", :via => :scp)
    5 end

2 Commenti a “Capistrano: uploadare un file non in SVN”

  1. Davide il 7 November 2008 alle 14:56 dice:

    Domanda.
    Al momento stiamo utilizzando una cartella di lavoro svn sul server, in un sottodominio deputato al test. Le cartelle log e tmp e alcuni file specifici (database.yml, ad esempio) non sono in svn.
    Lavoriamo in locale, e quando una feature è implementata facciamo un commit e un update via ssh.
    C’è qualcosa di sbagliato in un simile utilizzo di svn?

    (Per la produzione contiamo di fare un deploy pulito, magari imparando nel frattempo a usare capistrano, mi chiedevo però quali fossero i vantaggi)

  2. duccio il 7 November 2008 alle 16:10 dice:

    Il fatto che alcune cose tu non le metta in svn va benissimo!! anzi è il modo corretto visto che altrimenti sporcheresti l’svn. Direi che fare il commit e l’update sul server è corretto ma l’errore, secondo me, è nel farlo manualmente.. magari potresti dimenticare di tirare su alcune cose e bloccare l’app!

    Il capistrano oltre ad automattizzarti l’l'update ti consente di creare più release dell’applicazione tirandotela su tutta tutte le volte… e cambiando solo il link simbolico della current, all’ultima uploadata!!!

Scrivi un commento