我的vNext构建包含非常少的步骤-我只是设置一些设置并调用主Powershell构建脚本,该脚本在内部调用msbuild,但它也做其他事情。
我知道vNext附带了一个分布式msbuild记录器,该记录器允许msbuild将直到vNext的事件报告到时间轴中。
这可以用于任意逻辑,而不仅仅是msbuild吗?
编辑1
我编写vNext(或Octopus)项目的理念是尽量减少步骤数。这是因为这些步骤是代码,但是vNext和Octopus都不提供我期望在编写代码时获得的环境,
对我来说,这些都是必不可少的,这就是为什么我倾向于拥有一个主构建脚本的原因。我确实将东西委托给vNext(Octopus)-例如发布工件和测试或获取资源。但是在本地特定计算机上运行的代码是我的Powershell脚本。
答案 0 :(得分:1)
我同意建议您将构建管道流程分为多个步骤/任务以更好地查看和记录总体状态的意见。也就是说,有一种方法可以将进度报告回构建时间表。您可以使用Azure Pipeline Tasks Logging Commands page上记录的##vso[task.setprogress]
命令。以下内容将在日志/控制台中显示进度百分比,并在时间轴中的步骤名称旁边显示百分比:
$myArray = @(1..10)
foreach ($item in $myArray) {
$simplePercentage = (($myArray.IndexOf($item)/$myArray.Length)*100)
Write-Output ("Current Percentage: $simplePercentage")
Write-Output ('##vso[task.setprogress value={0};]{1}' -f $simplePercentage, 'My Sample Task')
Start-Sleep -Seconds 3
}
您可以将Powershell脚本/功能划分为任何整体百分比,然后使用该日志记录命令报告各节的进度。