2012-04-12 5 views
6

Die Standard-Buildvorlage hat die Aktivität CheckInGatedChanges ("Eingeschlossene Änderungen überprüfen"), die außerhalb der Aktivität AgentScope ausgeführt wird ("Auf Agent ausführen").CheckInGatedChanges-Aktivitätsort im Build-Workflow

Gibt es einen Grund dafür? Oder könnte die CheckInGatedChanges Aktivität in das Ende des AgentScope Ablaufs (Ende der Sequenz) verschoben werden?

Mein erraten ist, dass Microsoft nicht möchte, dass der Agent selbst die Änderungen eincheckt, aber der Controller. Ich bin mir aber nicht sicher, da ich das Innenleben des Controller-Agent-Modells nicht kenne.

Der Grund, warum ich frage ist, weil ich brauchen eine Tätigkeit Lauf nach die Änderungen eingecheckt in sind zu haben, und dass zur Zeit zwingt mich eine weitere Instanz der AgentScope Aktivität zu verwenden. Ich würde es vorziehen, sie alle nur in die erste AgentScope-Aktivität zu legen und keine zusätzlichen Ressourcen zu verwenden.

Antwort

3

Der aktuelle Speicherort von CheckInGatedChanges in der Vorlage stellt sicher, dass beim Hinzufügen zusätzlicher Aktivitäten zur Vorlage diese nicht unerwartet ausgeführt werden, nachdem die Änderungen auf dem Server festgeschrieben wurden. Darüber hinaus ermöglicht es die Ausführung paralleler Agenten. Wenn Sie beispielsweise den Build für die Skalierung auf mehrere Agenten parallelisieren möchten, muss der Check-in nach Abschluss aller Build-Agent-Workflows erfolgen.

Das sind die Gründe, die ich mir vorstellen kann. Ich denke, es ist sicher, wenn Sie wissen, dass Sie keinen konvergenten Punkt zum Einchecken Ihrer Änderungen benötigen, um die CheckInGatedChanges-Aktivität in das AgentScope zu verschieben, sodass Sie kein weiteres AgentScope erstellen müssen, um Ihre benutzerdefinierte Arbeit auszuführen. Ich glaube nicht, dass wir den Umfang dieser Aktivität einschränken.

+0

Also von was Sie sagen, es scheint ästhetisch zu sein. Mit anderen Worten, so erinnern sich die Entwickler im Allgemeinen daran, keine Aktivitäten darunter zu legen. Ist das im Grunde das, was du gesagt hast? –

+0

Das und paralleler Build zu unterstützen, falls gewünscht. –

+0

Ich habe das ausprobiert, und es funktioniert tatsächlich nicht. Nicht mindestens 100%. Bei manuellen Builds sicher. Bei einem gated check-in schlägt der Build mit folgendem Fehler fehl: TF270012: Es ist kein Shelveset zum Einchecken verfügbar. –