2010-12-15 3 views
3

Ich bin gerade dabei, StatSVN zu konfigurieren, um in TeamCity zu laufen und stoße auf ein kleines Problem, ich brauche ein paar Ideen. Erstens muss StatSVN gegen ein Arbeitsverzeichnis laufen, das von SVN ausgecheckt wurde, es kann nicht gegen die Kopie der App laufen, die TeamCity exportiert von SVN. Daher muss auf dem Build-Server ein Svn-Checkout durchgeführt werden.svn checkout Herausforderungen für ein Passwort beim unbeaufsichtigten Betrieb in TeamCity

Was ich getan habe, ist eine Fledermaus-Datei erstellt, die den drei Befehl von StatSVN erforderlich führt den Bericht zu erstellen, von denen die erste ist die Kasse:

svn checkout [repository path] 

Nun korrigiert mich wenn ich bin falsch, aber dies sollte mit der aktuellen Identität auschecken. Natürlich läuft es direkt von der Kommandozeile aus. Wenn es in TeamCity ausgeführt wird, ist der Build Runner so konfiguriert, dass er unter einem Dienstkonto ausgeführt wird, das identische Rechte für mich in SVN hat. In der Tat wird das gleiche Dienstkonto verwendet, um Repositories und Standardverzeichnisstrukturen zu erstellen, also habe ich keine Zweifel, dass es die Rechte hat.

jedoch jedes Mal, wenn der Build läuft es hängt und es nach dem Anhalten, es ist offensichtlich, warum:

[13:38:28]: C:\TeamCity\buildAgent\work\e8d4dc4070ecf602>svn checkout [repository path] 
[13:38:29]: Authentication realm: <[svn server]> Subversion Repositories 
[13:38:38]: Password for '[service account]': 
[13:38:38]: Process exited with code 1 

Es erscheint ein Passwort zu hängen und warten, die es offensichtlich nicht während unbeaufsichtigt laufen zu bekommen. Hat jemand Ideen, warum das passiert?

Update: Der nächste Befehl von StatSVN erforderlich ist ein "svn log", die die Geschichte begehen Dumps. Auch wenn Sie das Problem von svn checkout angehen können, indem Sie den TeamCity VCS-Checkout-Modus auf "Automatisch auf Agent" konfigurieren, was zu einem tatsächlichen Checkout statt zu einem Export führt (dies ist sicherlich einem manuellen Befehl vorzuziehen), den Befehl "svn log" zeigt immer noch das gleiche Problem.

Antwort

2

wäre es möglich, dies zu lösen, indem man den Check-out auf teamcity von "serverseitig" (export) auf clientseitig (checkout) umstellt ..? dann würdest du eigentlich alle deine svn-ordner bekommen.

können Sie sie dann von Ihrem Build (nant oder msbuild) ausschließen, so dass sie es nie in Ihren gebauten Projektordner schaffen.

Ich weiß, dass dies Ihre Frage nicht direkt beantwortet, aber es kann Ihr tatsächliches Problem lösen.

+1

Sie haben tatsächlich einen sehr guten Punkt gemacht und dies ist sicherlich besser als ein manueller "svn checkout" Befehl.Unglücklicherweise benötigt StatSVN weiterhin einen "svn log" Befehl, damit das Problem nur zur nächsten Anweisung geht. –

4

Sie können es zumindest stoppen für die Eingabe von fragen nach

svn checkout --non-interactive 

mit diesem wird das Problem nicht lösen, dass es den Benutzer nicht wissen, aber könnten Sie mehr Informationen geben, was falsch ist

1

Wahrscheinlich zu spät, um dem OP zu helfen, aber ich hatte ein ähnliches Problem, wenn ich Checkouts durchführte. svn würde kontinuierlich nach einem Benutzernamen und einem Passwort fragen, obwohl diese mit den Schaltern --username und --password geliefert werden. Wenn der Schalter --non-interactive hinzugefügt wurde (wie der Vorschlag von Sander Rijken), antwortete svn, dass das Kennwort falsch war. Tatsächlich war das Passwort korrekt, enthielt aber Zeichen, die nicht korrekt maskiert wurden.