Utilizzando prevede di accedere a SVN
-
03-07-2019 - |
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 :-(]
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à:
- SvnAnt per effettuare check-out, check-in e tutte le cose tra
- TAR TAR per creare l'archivio
- Ant SCP compito di pubblicarlo
Puoi salvare le password in un file di proprietà separato se sei preoccupato per la sicurezza.