Question

J'essaie d'utiliser un script automatisé pour se connecter à SVN, mettre à jour mes sources, créer une archive avec celles-ci et les envoyer à un hôte distant.

Le problème ici est que, pour chaque connexion à SVN (même pour le paiement ou la mise à jour), nous devons entrer notre mot de passe. L'automatisation de la saisie du mot de passe, le seul moyen que j'ai pu trouver, était d'utiliser s'attendre à travailler sur cela.

Y a-t-il un script dans l'attente, qui peut prendre en charge SVN et scp pour détecter et donner le mot de passe à SVN, puis à SCP?

J'utilise les éléments suivants:

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

Le mot de passe et la commande suivante que je passe à partir de la ligne de commande, mais il existe une menace pour la sécurité si quelqu'un a accès à l'historique. Les réponses mentionnées ci-dessous ne répondent pas à mes prérequis, je ne peux pas non plus exporter pour le moment [autres problèmes de sécurité: - (]

Était-ce utile?

La solution

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

ou mieux encore, svn export utilisateur, qui exclura tous les répertoires .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

Autres conseils

Si vous utilisez le protocole svn + ssh pour accéder à votre référentiel SVN, vous pouvez utiliser les clés SSH et ssh-agent pour gérer les échanges afin que vous n'ayez pas besoin de mots de passe.

Personnellement, j'utiliserais ANT pour effectuer toutes ces tâches, puis vous pourrez appeler votre script ant au besoin. Ant a préconfiguré des tâches pour svn et scp ainsi que de nombreuses autres tâches de type automatisation de la construction.

Si (comme le suggérait Dave), vous utiliseriez Ant, les tâches suivantes seraient à votre disposition:

Vous pouvez enregistrer les mots de passe dans un fichier de propriétés séparé si la sécurité vous préoccupe.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top