我是visualstudio.com的新手,主要用于版本控制(从Github移动)。 其中一个项目是一个控制台应用程序,用于在我们的本地服务器上执行一些维护。 有一个生成“工件”的构建作业,它似乎包含服务器执行其维护工作所需的所有内容(由Jenkins安排)。
现在,如果我们本地服务器上的Jenkins工作可以从VisualStudio.com“下载”最新发布的控制台应用程序版本开始,然后运行控制台应用程序,那真的很酷。
我不明白的是如何从成功的(Release)构建转到可以下载二进制文件的URL(无论版本号如何 - 总是最新的)。
它可能涉及“发布”任务,但在本地服务器上打开文件共享以推送结果,这不是我想要的方式。我希望本地服务器在需要时从VisualStudio.com中提取应用程序。
答案 0 :(得分:1)
实际上,您可以通过MSBuild CLI直接通过jenkins作业构建项目,它也可以生成与VSTS构建中的构建过程类似的构建工件。
此外,如果您想下载Jenkins作业中的VSTS构建工件,您可以首先通过Get build artifacts REST API构建工件下载URL:
GET https://account.visualstudio.com/DefaultCollection/{project}/_apis/build/builds/{buildID}/artifacts?api-version=2.0
然后您将得到如下响应:
{
"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"
}
}
]
}
对于上面的示例,下载网址为https://fabrikam-fiber-inc.visualstudio.com/DefaultCollection/6ce954b1-ce1f-45d1-b94d-e6bf2464ba2c/_apis/build/builds/391/artifacts/drop?%24format=zip
。
要获取最新的构建ID,您可以先使用REST API获取最新版本:
GET https://account.visualstudio.com/DefaultCollection/{project}/_apis/build/builds?definitions={definitionID}&$top=1&api-version=2.0
然后您可以在id参数中获取最新的buildID。