Blog

Veröffentlichen Sie Ihre Erweiterung auf einem lokalen TFS Update 2-Server

Jesse Houwing

Aktualisiert Oktober 22, 2025
2 Minuten
Mit der Verfügbarkeit von Erweiterungen für TFS habe ich nach einer einfachen Möglichkeit gesucht, Erweiterungen und ihre Updates auf dem lokalen Marktplatz zu veröffentlichen. Ich bin mir zwar sicher, dass Microsoft die beiden irgendwann integrieren wird, aber im Moment müssen Sie die Erweiterungen manuell zwischen dem VSTS-Marktplatz und Ihrem lokalen TFS-Marktplatz synchronisieren. Es hat sich herausgestellt, dass die Tools, die für die Veröffentlichung auf dem VSTS Marketplace verwendet werden, auch für den TFS Marketplace funktionieren. Um eine Erweiterung zu veröffentlichen, müssen Sie die Service-URL manuell eingeben, und es war ein wenig Tüftelei nötig, um herauszufinden, was Sie dort eingeben müssen. Es stellte sich heraus, dass die Server-Root-Adresse benötigt wird,
C:t>tfx extension publish --root . --manifest-globs vss-extension.json  
  --service-url https://jessehouwing:8080/tfs --proxy https://xebia.com/blog:8888
Prüfen, ob diese Erweiterung bereits veröffentlicht ist
Ist sie nicht, erstellen Sie eine neue Erweiterung.
Ich warte darauf, dass der Server das Erweiterungspaket validiert...
=== Abgeschlossener Vorgang: Erweiterung veröffentlichen === - Paketierung: C:tjessehouwing.jessehouwing-vsts-variable-tasks-0.0.0.vsix - Veröffentlichung: erfolgreich - Freigabe: nicht freigegeben (verwenden Sie --share-with zur Freigabe) Wenn Ihr Server nicht mit aktivierter Basisauthentifizierung konfiguriert ist, können Sie den Fiddler-Hack verwenden, um sich über NTLM zu authentifizieren. Wie Sie an der Option --proxy im obigen Befehl sehen können, ist es das, was ich im Moment tue. Es sollte relativ einfach sein, ein PowerShell-Skript zu erstellen, das die Option --json verwendet, um alle Erweiterungen auf dem lokalen TFS-Marktplatz aufzulisten und dann auf dem Online-Marktplatz nach einer neueren Version zu suchen, um bereits installierte Erweiterungen automatisch zu synchronisieren. Fügen Sie dies in eine Build-Definition auf einem Zeitplan ein, und Ihr lokaler Marktplatz wird immer mit den neuesten Versionen aktualisiert sein. Das ist etwas für einen zukünftigen Blogpost.

Verfasst von

Jesse Houwing

Jesse is a passionate trainer and coach, helping teams improve their productivity and quality all while trying to keep work fun. He is a Professional Scrum Trainer (PST) through Scrum.org, Microsoft Certified Trainer and GitHub Accredited Trainer. Jesse regularly blogs and you'll find him on StackOverflow, he has received the Microsoft Community Contributor Award three years in a row and has been awarded the Microsoft Most Valuable Professional award since 2015. He loves espresso and dark chocolate, travels a lot and takes photos everywhere he goes.

Contact

Let’s discuss how we can support your journey.