2017-06-20 2 views
1

In der JSON-Datei einer benutzerdefinierten Build-Task ich den Wert geändert haben, die an das Powershell-Skript gesendet wird, wenn Sie wählen Sie einen Parameter:TFS 2017 Änderung bestehender Parameter von benutzerdefinierten Build-Task

{ 
    "name": "VerbosityLevel", 
    "type": "pickList", 
    "label": "Level of Verbosity", 
    "required": true, 
    "helpMarkDown": "Select Verbosity level", 
    "defaultValue": "-v:n", 
    "options": { 
    "quiet": "quiet", 
    "minimal": "minimal", 
    "normal": "normal", 
    "detailed": "detailed", 
    "diagnostic": "diagnostic" 
    } 
} 

dazu:

{ 
    "name": "VerbosityLevel", 
    "type": "pickList", 
    "label": "Level of Verbosity", 
    "required": true, 
    "helpMarkDown": "Select Verbosity level", 
    "defaultValue": "-v:n", 
    "options": { 
    "-v:q": "quiet", 
    "-v:m": "minimal", 
    "-v:n": "normal", 
    "-v:d": "detailed", 
    "-v:diag": "diagnostic" 
    } 
} 

Leider sind alle bauen Definitionen, die bereits vor der Änderung bestehender waren und dass die Build-Schritt nicht aktualisiert werden und enthalten immer noch die alten Werte. Link to Build Definition json

Gibt es eine effiziente Möglichkeit, alle bereits vorhandenen Builddefinitionen zu aktualisieren, wenn Sie etwas an einem bereits vorhandenen Parameter ändern?

+0

Mein Verständnis war, dass, wenn Ihre Aufgabe Versionsnummer aktualisiert wird, es wird als Teil des Build-Starts nach unten gezogen und dem Build Aufgabe sollte nicht aktualisiert werden. Haben Sie versucht, die vorhandene Aufgabe im Agent-Ordner zu löschen und dann zu sehen, was bei der Ausführung des Jobs abgezogen wird? Ist es dann immer noch die alte Version? – SheldonH

Antwort

0

Es gibt eine version of the task in task.json ist wie folgt:

"version": { 
     "Major": 2, 
     "Minor": 0, 
     "Patch": 57 
    }, 

Sie direkt die Version der Aufgabe wie Änderung 2.0.57 bis 2.0.58 ... die Änderungen werden automatisch in Aktualisierung könnte ersetzt Alle bereits vorhandenen Builddefinitionen einschließlich der Aufgabe.

Wenn Sie jedoch die Hauptversion der Aufgabe wie 2.0.57 zu 3.0.57 ändern. Sie müssen manuell die Version in der Spitze der Aufgabe wie unten Screenshot wählen:

enter image description here

+0

Ich habe den Patch-Wert in meinem Szenario erhöht und die Aufgabe mit der erhöhten Versionsnummer hochgeladen. Die alten Werte bleiben in alten Build-Definitionen erhalten. Es wird nur zu den neuen Werten des Parameters geändert, wenn Sie etwas in der Build-Definition bearbeiten und die Änderungen speichern. – CheesusCrust

+0

@CheesusCrust Erhalte das gleiche Ergebnis wie du auf meiner Seite. Meiner Meinung nach sollte dies auch Sinn machen. Wenn der Build in bereits bestehenden Build-Definitionen immer passieren und plötzlich aufgrund eines der Task Version Update/Parameter geändert und ohne Signal fehlschlagen, was auch nicht sinnvoll ist. Ich fürchte also, Sie müssen etwas in der alten Build-Definition bearbeiten, um die Synchronisation abzuschließen. –

+0

Leider ist dies für uns ein Dilemma, da dies bedeuten würde, dass wir jede unserer 100 Build-Definitionen manuell aufrufen und sie manuell bearbeiten müssten, wenn wir einen Parameter in unserer benutzerdefinierten Build-Aufgabe ändern. – CheesusCrust

Verwandte Themen