2016-08-02 24 views
0

Ich arbeite bei einer Organisation, die TFS 2015 für ALM verwendet. Die Struktur sieht wie folgt aus:Erstellen einer BuildvNext-Definition, die ein Git Repo in einem anderen Team-Projekt verwendet

  • Sammlung
    • WIT TP (TFVCS)
    • -Code TP1 (Git)
    • -Code TP2 (Git)

Alle Arbeiten Die Artikelverfolgung wird im Teamprojekt "WIT TP" in Projektteams durchgeführt. Dies umfasst auch alle Bereiche, Iterationen und (am wichtigsten) Testpläne/-fälle.

Der gesamte Code wird in separaten Teamprojekten wie Code TP1 gespeichert. Im Allgemeinen besteht eine 1-1-Korrelation zwischen Code-Team-Projekten und einem Projektteam innerhalb des Teamprojekts zur Arbeitsverfolgung.

Insbesondere der Code für automatisierte Tests befindet sich in einem Code Team Project. Sie wissen möglicherweise, dass der Microsoft Test-Manager nur Build-Definitionen anzeigen kann, die im Team-Projekt erstellt wurden. Die Einzelheiten sind nicht wichtig, wirklich, hier ist mein Ziel:

erstellen Build-Definition in einem Team-Projekt die Quelldateien in einem Git-Repo zu einem anderen Team-Projekt gehören, befindet sich mit

Ich weiß, das funktionieren kann mit TFVCS. Ich kann keinen guten Grund sehen, warum es für Git nicht funktionieren kann. Ich habe versucht, auf den (eigentlich intern) git Repo als „External Git Repo“ zu beziehen und zu schaffen, was ich glaubte, die richtigen Endpunkte waren, lief aber in einen Fehler:

Too many redirects or authentication replays 
Prepare repository failed with exception. 

Eine andere Frage, die ich renne Das Workitem-Teamprojekt verwendet TFVCS. Daher wird auf der Registerkarte Repository des Bearbeitungsfensters der Builddefinition keine Option für das interne Git-Repository angezeigt. Das Experimentieren mit anderen Teamprojekten mit git war nicht besser - obwohl ich ein Git Repo auswählen kann, kann ich mich nicht auf einen anderen Teil des Servers beziehen.

Danke für Ihre Hilfe!

+0

Haben Sie versucht, eine git-Repro mit einem Submodul zu erstellen, das auf diese andere Repro verweist? Je nachdem, welches Update-Level du hast, könnte das funktionieren. –

+0

@RolfHuisman Ich habe das noch nicht versucht, nein. Basierend auf der Antwort von Microsoft sieht es so aus, dass eine fehlende Funktion eine Workaround benötigt. Ich werde versuchen, ein Submodul, oder vielleicht eine falsche Build-Definition in der Workitem-Tracking-Team-Projekt. Ich kann nicht glauben, dass dies für TFVCS und nicht für Git möglich ist. – Ryanman

Antwort

0

Der Link, auf den Sie verwiesen haben, funktioniert nur wenn beide Projekte das TFVC-Repository verwenden. Da die neueste TFS-Version sowohl das TFVC- als auch das Git-Repository in einem Teamprojekt unterstützt, würde ich Ihnen empfehlen, den Code Ihrer beiden Git-Projekte in das Workitem-Projekt einzufügen. Dadurch können Sie die Build-Definition bequemer konfigurieren.

Wenn Sie den Code nicht in Workitem-Projekt verschieben möchten, können Sie in der Builddefinition alternativ ein Power-Shell-Skript hinzufügen, um den Code während des Erstellungsprozesses von Git-Projekten zu klonen.

+0

Ich nehme an, das ist die richtige Antwort, obwohl es frustrierend ist und für mich ein Feature, das implementiert werden sollte. Leider ist die UserVoice @ Patrick-MSFT dafür sehr schlecht geschrieben, so dass wir eine andere Fähigkeit von XAML verloren haben. – Ryanman

0

Nein, dies ist keine Unterstützung für GIT. Genau genommen wird dies auch nicht für TFVC im Popup-Fenster unterstützt. Die im obigen Link beschriebene Vorgehensweise ist nur ein Workaround.

Für TFVC können Sie den Repository-Pfad direkt definieren. Dies kann jedoch in der Definition von GIT (die Sie nur verzweigen können) nicht erreicht werden.

Darüber hinaus ist der "External Git Repo", die für den externen GIT-Service ist (zum Beispiel GitHub, BitBucket) nicht für ein anderes GIT Team-Projekt in TFS.

Für jetzt können Sie wählen Build multiple team projects in build.vnext in uservoice, um dies in poup Fenster zu ermöglichen.


Für Ihre Situation schlagen Sie GIT repositorie zu einem bestehenden Team-Projekt erstellt mit TFVC Repositories (Dies ist Bidirektionale) hinzufügen können.Mit TFVC- und Git-Repositorys im selben Teamprojekt können Sie problemlos auf Ihre Arbeitselemente, Builds und den Codeverlauf zugreifen, ohne zwischen Teamprojekten wechseln zu müssen.

Details Weisen Sie in diesem MSDN-Blog verweisen: TFVC and Git repositories in the same team project

Hinweis:

  • Need TFS2015 update1 und über
  • Visual Studio 2015 hat Update 1 Unterstützung für Team-Projekte mit beiden Repo-Typen
+0

Patrick: Was ist mit dem in den Kommentaren dieses Blogposts beschriebenen Ansatz: https://blogs.msdn.microsoft.com/premier_developer/2016/04/13/tips-for-writer-powershell-scripts-to- use-in-build-and-release-tasks/ Sollte das funktionieren? – Ryanman