Domanda

Sto provando a utilizzare uno script automatico, che accederà a SVN, aggiornerebbe le mie fonti, creerebbe un tarball con questi e li scapperebbe su un host remoto.

Il problema qui è che, per ogni accesso a SVN (anche per il checkout o l'aggiornamento), è necessario inserire la nostra password. L'automazione dell'immissione della password, l'unico modo che ho potuto trovare, è stata quella di aspettarmi di lavorare su questo.

È previsto uno script che può occuparsi di SVN e scp per rilevare e fornire la password a SVN e quindi a SCP?

Sto usando il seguente:

spawn svn [lindex $argv 0]
expect " password: <*>quot;
send "$password\r"
expect { 
    " password: <*>quot;    send "$password\r"
    "^At revision "
    "^Updated to revision "
}

La password e il comando up passo dalla riga di comando, ma c'è una minaccia alla sicurezza se qualcuno ha accesso alla cronologia. Le risposte menzionate di seguito non soddisfano i miei pre-requisiti, inoltre per ora non sono in grado di effettuare un'esportazione [alcuni altri problemi di sicurezza :-(]

È stato utile?

Soluzione

linuxbashscript.sh

svn up /path/to/local/copy
tar -cf backup.tar /path/to/local/copy
scp backup.tar user@192.1.1.1:/path/on/remote/host

o anche migliore esportazione utente svn che escluderà tutte le directory .svn.

svn export /path/to/repo /path/to/exported
tar -cf backup.tar /path/to/local/copy
scp backup.tar user@192.1.1.1:/path/on/remote/host

Altri suggerimenti

Se stai usando il protocollo svn + ssh per accedere al tuo repository SVN, allora puoi usare le chiavi SSH e ssh-agent per gestire l'handshaking in modo da non dover coinvolgere le password.

Personalmente userei ANT per fare tutte quelle attività e quindi puoi chiamare il tuo script ant come necessario. Ant ha attività preconfigurate per svn e scp e molte altre attività di tipo automazione build.

Se (come ha suggerito Dave), avresti usato Ant, avresti a disposizione le seguenti attività:

Puoi salvare le password in un file di proprietà separato se sei preoccupato per la sicurezza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top