Frage

Ich habe Setup einen CCNET und im Großen und Ganzen funktioniert es gut. Er fragt den SVN-Server und prüft, aus dem Code, wenn es irgendwelche Änderungen sieht. Außer, das heißt, wenn es eine checkin während des Build ist. Zur Zeit die Build und Testlauf dauert ca. 3 -. 4 Minuten, wenn jemand in dem Code während des Build crusie Steuerung prüft nicht die checkin erkennt und wartet, bis ein checkin ist, nachdem die Build ausgeführt wird

Warum könnte das sein?

Dies ist der SVN Teil der ccnet.config-Datei:

<sourcecontrol type="svn">
    <executable>svn.exe</executable>
    <trunkUrl>http://*******/svn/repos/psl/AcademyPro/ASP%20.Net/trunk/</trunkUrl>
    <workingDirectory>C:\CrusieControlProjects\AcademyPro\</workingDirectory>
    <username>******</username>
    <password>******</password>
    <autoGetSource>true</autoGetSource>
</sourcecontrol>

Herausgegeben für Clarity Das Problem ist nicht mit atomarem checkins zu tun. Ein checkin Ergänzen, CCNET baut die App und beginnt zu laufen Tests. An diesem Punkt macht jemand anderes eine andere checkin. Nachdem der Testlauf abgeschlossen hat würde ich erwarten, CCNET die checkin zu erkennen, die während des Testlaufes durchgeführt wurden.

Dies geschieht nicht, wird der Check verpasst und ein Build, erwarte ich verpasst.

Ist das erwartete Verhalten, oder bin ich nicht verstehen, was @ Jeff Mattfield sagte?

War es hilfreich?

Lösung 4

Die Zeit auf dem Subversion-Server war etwa 2 Stunden aus der Zeit auf dem Server CruiseControl-. Ich reparierte das und checkins scheinen jetzt viel glatter ausgeführt werden.

Andere Tipps

Ein Subversion-Commit ist atomar. Es ist nicht der Kasse erhältlich, bis es fehlerfrei abgeschlossen wurde. Aktualisierung oder Check-out von einem Repository während eines parallel begeht Ergebnisse im Zustand des Endlagers vor diesem begehen.

Mit anderen Worten, CC.NET bekommt, was das Repository enthalten ist nach dem letzten erfolgreichen begehen.

Ich habe noch nie dieses Problem, und ich habe mit SVN gearbeitet + CCNet für ein paar Jahre.

  1. Können Sie die ganze CCNet Projektkonfiguration posten? Dies könnte etwas mit Trigger zu tun, zum Beispiel.
  2. Welche Version von CCNet verwenden Sie?
  3. Sie sagen CCNet nur die Änderungen erkennt, die trat nach Build. OK, aber wenn Sie auf dem Projekterstellungs Bericht aussehen ( „ Änderungen seit dem letzten Build “), zeigt es nur die, die nach dem vorherigen Build oder alle von ihnen aufgetreten ist (einschließlich derjenigen, die während die vorherige Build)?

Überprüfen Sie, dass ccservice.exe.config / ccnet.exe.config hat Debug-Log-Level-Set:

<configuration>
  <configSections>
  ...
    </log4net>
      <root>
        <level value="DEBUG"/>
      <root>
    </log4net>
  ...
  </configuration>
</configSections>

Dann überprüfen Sie die Subversion Ausgabe im ccnet.log für die Subversion Revision an.

2009-06-05 10:34:41,816 [15336:DEBUG] [cc-config svn.exe] <logentry
2009-06-05 10:34:41,816 [15336:DEBUG] [cc-config svn.exe]    revision="1057">

Stellen Sie sicher, dass sich eine Überarbeitung ist die neueste Revision mit Commits unter dem SVN trunkUrl (http: //*******/svn/repos/psl/AcademyPro/ASP%20.Net/trunk/). Pfad

überprüfen Ansonsten das Protokoll und state-Datei für weitere Hinweise.

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