2017-01-06 2 views
1

Ich habe eine VSTS-Erweiterung mit zwei Build-Aufgaben, eine Build-Aufgabe sollte für beide verfügbar sein VSTS und TFS, die andere nur für TFS. Ist es möglich, dies für jede Build-Aufgabe über das Extension-Manifest zu konfigurieren?Wie Build-Task nur auf VSTS nicht begrenzen TFS

+1

Ich glaube nicht, dass dies möglich ist, warum brauchen Sie 2 Aufgaben? Was ist das Besondere an der Aufgabe, dass es anders sein muss, ich vermute, dass Sie TFS/VSTS in Ihrer Implementierung erkennen und in der Lage wäre, eine einzige Aufgabe zu liefern. – jessehouwing

Antwort

1

Ich habe die folgende Problemumgehung verwendet, um Nachricht anzuzeigen und das Build in TFS zu beenden.

var collectionUrl = process.env["SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"]; 
var regExpression = new RegExp("^((https?)\:\/\/)(([a-z0-9])+\.)*(visualstudio\.com)"); 
if(regExpression.test(collectionUrl)) 
{ 
    //VSTS Detected 
} 
else 
{ 
    //Display message task not compatible with TFS 
    //Fail the build 
} 
+0

Sie können es als Antwort markieren. –

0

Machen Sie die zeigt an, dass die Erweiterung nur für Team Services (targets = Microsoft.Visualstudio.Services.Cloud) verfügbar ist.

+0

Sie möchten zwei Erweiterungen erstellen, eine mit den 'targets', die auf MS.VS.Sevices.Cloud gesetzt sind, die die Build-Aufgabe nur für VSTS enthält, und eine andere Erweiterung mit' targets', die auf MS.VS.Services gesetzt sind, die die andere Version enthalten Task für TFS und VSTS verfügbar? –

+0

@Cece: Dies beschränkt die Erweiterung nur auf VSTS, meine Anforderung ist es, einen Build-Task auf VSTS zu beschränken, während der andere sowohl VSTS als auch TFS unterstützt. Vielen Dank. – Bandara

+0

@LucaCappa, Ja, das ist was ich meine. Danke für Ihre Erklärung. –

0

Es gibt keine Möglichkeit, dies über die Erweiterungsmanifestdatei zu erreichen. Eine gute Problemumgehung ist genau wie jessehouwing erwähnt: Kombinieren Sie die beiden Build-Aufgaben in einem, bieten Sie eine Option in der Build-Einstellung, damit der Benutzer die Build-Umgebung auswählen oder erkennen kann, wenn er die Build-Aufgabe ausführt. Wenn TFS ausgewählt oder erkannt wird, führen Sie den Code in den beiden Build-Tasks aus, andernfalls führen Sie den Code nur in der ersten Build-Task aus.

+0

Danke Eddie. Ich habe den Arbeiter um Logik ergänzt. – Bandara

Verwandte Themen