如果您希望在您构建和部署的当前应用程序中显示数据,您可以获取变量的值,例如每个环境变量:
var releaseName = Environment.GetEnvironmentVariable("Release_ReleaseName", EnvironmentVariableTarget.Process);
var buildNumber= Environment.GetEnvironmentVariable("Build_BuildNumber", EnvironmentVariableTarget.Process);
如果您想在外部应用中显示数据:
您可以通过Azure DevOps Rest API 获取所有发布数据。发布的API是Releases - Get Release:
GET https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases/{releaseId}?api-version=5.1
您有一个包含发布信息的大 JSON,包括发布名称:
{
"id": 205,
"name": "Release-93",
并且在artifact数组中,可以获取build id(definitionReference.version.name下):
"version": {
"id": "1439",
"name": "TestVars_20190829.1439..11"
因此,在您的 Asp.Net MVC Core 应用程序中,只需调用 GET rest API 即可获得所有数据。
另外,您可以使用.NET client libraries for Azure DevOps Services 和GetRelease() 方法获取数据:
string projectName = "TestProject";
VssConnection connection = Context.Connection;
ReleaseHttpClient releaseClient = connection.GetClient<ReleaseHttpClient>();
List<WebApiRelease> releases = releaseClient.GetReleasesAsync(project: projectName).Result;
int releaseId = releases.FirstOrDefault().Id;
// Show a release
WebApiRelease release = releaseClient.GetReleaseAsync(project: projectName, releaseId: releaseId).Result;
// Now get the release name and build nubmer