2017-02-21 7 views
1

Ich habe zwei separate Lösungen in TFS 2015. Wir nennen sie Solution1 und Solution2. Der Build für Solution1 erstellt eine Assembly, die von Solution2 benötigt wird. Ich bin mir nicht sicher, wie diese Abhängigkeit in TFS am besten gehandhabt werden kann.Auflösen von Abhängigkeiten in TFS 2015

Mögliche Szenarien könnten einschließen.

  • Jedes Mal Solution1 erfolgreich kopiert es die neue Baugruppe Solution2 baut die wiederum einen Build von Solution2 auslöst (das ist möglich in TFS? Und wenn ja, wie?)
  • Jeder Build von Solutiuon2 zieht die neueste Version der Baugruppe aus Solution1

Wie haben andere Personen Abhängigkeiten zwischen TFS-Projekten behandelt?

+0

Privates Nugget-Repository? Deploy-Schritt, der an einen bekannten Ort kopiert und einen Schritt vorfabriziert, der ihn abruft? – Ben

+0

@Ben Es scheint keine Möglichkeit zu geben, Builds in TFS zusammen zu ketten, also werde ich einen Pre-Build-Schritt hinzufügen, wie du es erwähnt hast, der die Assembly aufruft. – DomBurf

Antwort

4

Sie sollten die Ausgabe von Lösung 1 als Nuget-Paket verpacken und in einem Nuget-Repository veröffentlichen. Sie können eine Netzwerkfreigabe, MyGet, VSTS oder TFS 2017 als Paket-Repo verwenden.

Ihre zweite Lösung kann dann auf dieses Nuget-Paket eine Abhängigkeit nehmen und Sie wählen, wann Sie aktualisieren möchten.

Wenn Sie die Pakete automatisch aktualisieren möchten, können Sie etwas vor dem Build von Solution 2 aufrufen, wie der in den Kommentaren erwähnte Pre-Build-Schritt.

0

Wie es in der anderen Antwort erklärt wurde, können Sie es mit NuGet-Bereitstellung verwalten. Das ist der wirklich klare und schicke Weg.

Eine andere Möglichkeit besteht darin, wenn Sie für beide Lösungen den gleichen Ausgabeordner verwenden, und immer erst Solution1 erstellen.

Die dritte Möglichkeit kann darin bestehen, dass Sie Ihre Solution1 immer an eine bestimmte Position bereitstellen, auf die Solution2 referenzieren kann. Es ist logisch der NuGet-Version ähnlich, aber Sie verlassen sich nicht darauf (aber diese Abhängigkeit in "normalen" Fällen ist IMHO akzeptabel).

Ihre tatsächliche Auswahl kann von der Umgebung und Ihren Einschränkungen abhängen.