Kje*_*sen 4 azure-web-app-service azure-devops azure-pipelines
我希望能够在 Asp.Net MVC Core 网站中显示版本号(图片中的 *1)和内部版本号(图片中的 *2) - 针对该特定网站,该网站是使用 Azure DevOps 构建和发布的。
因此,如果我签入 MVC 网站的代码,构建和发布过程就会启动并部署该网站 - 现在我希望同一网站在页脚中显示“发布 xxxxx”。
它可以在 JSON 文件、环境变量或其他东西中 - 只要我可以从 Asp.Net Core 访问它,我就很高兴。
如何才能做到这一点?
如果您希望在构建和部署的当前应用程序中显示数据,您可以获取变量的值,例如每个环境变量:
var releaseName = Environment.GetEnvironmentVariable("Release_ReleaseName", EnvironmentVariableTarget.Process);
var buildNumber= Environment.GetEnvironmentVariable("Build_BuildNumber", EnvironmentVariableTarget.Process);
Run Code Online (Sandbox Code Playgroud)
如果您想在外部应用程序中显示数据:
您可以使用Azure DevOps Rest API获取所有发布数据。发布的 API 是Releases - Get Release:
GET https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases/{releaseId}?api-version=5.1
Run Code Online (Sandbox Code Playgroud)
您获得了一个包含发布信息的大型 JSON,其中包括发布名称:
{
"id": 205,
"name": "Release-93",
Run Code Online (Sandbox Code Playgroud)
在工件数组中,您可以获得构建 ID(在 下definitionReference.version.name):
"version": {
"id": "1439",
"name": "TestVars_20190829.1439..11"
Run Code Online (Sandbox Code Playgroud)
因此,在您的 Asp.Net MVC Core 应用程序中,只需进行 GET REST API 调用,您就可以获得所有数据。
此外,您可以使用Azure DevOps Services 的 .NET 客户端库并通过以下方法获取数据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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7304 次 |
| 最近记录: |