2017-12-18 17 views
0

Ich bin Visualstudio.com neu und benutze es hauptsächlich für die Versionskontrolle (von Github). Eines der Projekte gibt es eine Konsole App, um einige Wartungsarbeiten auf unseren lokalen Servern durchzuführen. Es gibt einen Build-Job, der ein 'Artefakt' erzeugt, das scheinbar alles enthält, was der Server benötigt, um seinen Wartungsauftrag auszuführen (geplant von Jenkins).VisualStudio.com URL zum neuesten Release Build eines Projekts

Jetzt wäre es wirklich cool, wenn der Jenkins-Job auf unserem lokalen Server mit dem Herunterladen der neuesten veröffentlichten Version der Konsolen-App von VisualStudio.com beginnen und dann die Konsolen-App ausführen könnte.

Die Sache, die ich nicht verstehe, ist, wie man von einem erfolgreichen (Release) Build zu einer URL geht, wo die Binaries heruntergeladen werden können (unabhängig von der Versionsnummer - immer am neuesten).

Es kann eine "veröffentlichen" Aufgabe, aber eine Dateifreigabe auf dem lokalen Server zu öffnen, um das Ergebnis zu drücken, ist nicht die Art, wie ich gehen möchte. Ich möchte, dass der lokale Server die App bei Bedarf von VisualStudio.com abruft.

Antwort

0

Eigentlich können Sie Ihr Projekt direkt von jenkins Job über MSBuild CLI erstellen, es kann auch die Build-Artefakte ähnlich wie der Build-Prozess in VSTS Build generieren.

Außerdem, wenn Sie herunterladen wollen, dass die VSTS Artefakte in Jenkins Job bauen, können Sie die Build-Artefakte herunterladen URL zuerst durch Get build artifacts REST API:

GET https://account.visualstudio.com/DefaultCollection/{project}/_apis/build/builds/{buildID}/artifacts?api-version=2.0 

Dann werden Sie die Antwort wie:

{ 
    "count": 1, 
    "value": [ 
    { 
     "id": 9, 
     "name": "drop", 
     "resource": { 
     "type": "Container", 
     "data": "#/303511/drop", 
     "url": "https://fabrikam-fiber-inc.visualstudio.com/DefaultCollection/6ce954b1-ce1f-45d1-b94d-e6bf2464ba2c/_apis/build/builds/391/artifacts/drop", 
     "downloadUrl": "https://fabrikam-fiber-inc.visualstudio.com/DefaultCollection/6ce954b1-ce1f-45d1-b94d-e6bf2464ba2c/_apis/build/builds/391/artifacts/drop?%24format=zip" 
     } 
    } 
    ] 
} 

Für das obige Beispiel lautet die Download-URL https://fabrikam-fiber-inc.visualstudio.com/DefaultCollection/6ce954b1-ce1f-45d1-b94d-e6bf2464ba2c/_apis/build/builds/391/artifacts/drop?%24format=zip.


Um die neueste Build-ID zu erhalten, können Sie die REST API können zunächst die neueste Version erhalten:

GET https://account.visualstudio.com/DefaultCollection/{project}/_apis/build/builds?definitions={definitionID}&$top=1&api-version=2.0 

Dann können Sie die neueste buildID im id Parameter erhalten.

+0

Die {buildID} in der URL "Get Build Artefakte REST API", lässt mich denken, die Antwort ist Nein - es gibt keine URL zum "neuesten und besten" Build Build – TheRoadrunner

+0

Eigentlich können Sie die neueste BuildID von erhalten ein weiterer Rest api, dem ich am Ende meine Antwort hinzugefügt habe. Sie können es versuchen. –

+0

Endlich habe ich es getestet, und es funktioniert wie erwartet, vielen Dank. Der Definitionsparameter, den ich gefunden habe, indem ich in der Adressleiste im Projekt auf visualstudio.com gestöbert habe (5 in meinem Fall), aber was bedeutet es, und wo soll es gefunden werden? – TheRoadrunner

Verwandte Themen