Frage

Ich versuche, ein automatisiertes Skript zu verwenden, die zu SVN anmelden würden, meine Quellen aktualisieren, einen Tarball mit diesem erstellen und scp sie zu einer Remote-Host.

Das Problem hierbei ist, dass bei jeder Login zu SVN (auch zur Überprüfung oder Aktualisierung), benötigen wir unser Passwort eingeben. Automation der Passworteingabe, die einzige Möglichkeit, die ich finden konnte, wurde mit erwarten auf diese Arbeit.

Gibt es eine Skript in erwarten, die Pflege von SVN nehmen und scp zur Erkennung und das Passwort zu SVN zu geben und dann zu SCP?

Ich bin mit dem folgenden:

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

Das Passwort und Befehl i von der Kommandozeile übergeben, aber es ist eine Bedrohung für die Sicherheit gibt, wenn jemand Zugriff auf die Geschichte. Die Antworten unten erwähnt nicht die Voraussetzungen erfüllen, ich bin auch ein Export zu tun für jetzt nicht in der Lage [einige andere Sicherheitsprobleme: - (]

War es hilfreich?

Lösung

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

oder noch besser Benutzer svn export, die alle die .svn Verzeichnisse ausschließen.

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

Andere Tipps

Wenn Sie die svn + ssh Protokoll verwenden Ihre SVN Repo zugreifen, als Sie SSH-Schlüssel und ssh-agenten verwenden können, das Handshaking zu verwalten, so dass Sie nicht Passwörter beinhalten müssen.

Persönlich würde ich ANT verwenden alle diese Aufgaben zu tun und dann können Sie Ihre Ant-Skript aufrufen je nach Bedarf. Ant hat vorkonfigurierte Aufgaben für SVN und scp sowie viele andere Aufgaben Art Build-Automatisierung.

Wenn (wie Dave vorgeschlagen), würden Sie Ant verwenden, würden Sie die folgenden Aufgaben zu Ihrer Verfügung haben:

  • SvnAnt zu tun outs prüfen, Check-Ins und alle Dinge dazwischen
  • Ant TAR Aufgabe das Archiv
  • zu erstellen
  • Ant SCP Aufgabe, sie zu veröffentlichen

Sie können die Passwörter in eine separate Property-Datei speichern, wenn Sie um die Sicherheit besorgt sind.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top