0

我的 vNext 构建包含很少的步骤 - 我只是设置了一些设置并调用主 Powershell 构建脚本,该脚本在内部调用 msbuild,但它也执行其他操作。

我知道 vNext 带有一个分布式 msbuild 记录器,它允许 msbuild 报告直到 vNext 的事件以显示在步骤 Timeline 中。

这可以为任意逻辑完成,而不仅仅是 msbuild?

编辑 1

我编写 vNext(或 Octopus)项目的理念是尽量减少步骤数。这是因为这些步骤都是代码,但是 vNext 和 Octopus 都没有提供我在编写代码时期望得到的环境,具体来说:

  1. 版本控制
    • 从技术上讲,vNext 有它,但对我来说,VCS 意味着与其他版本很容易区分。vNext diff 充满了无关紧要的废话。仍然比章鱼好光年,章鱼没有。
  2. 代码审查
  3. 相关工作项(为什么 X 改变了 Y?)
  4. 调试

对我来说,这些是必不可少的,这就是为什么我倾向于拥有一个主构建脚本。我确实将事情委托给 vNext (Octopus)——比如发布工件和测试或获取源代码。但是在本地特定机器上运行的代码是我的 Powershell 脚本。

4

1 回答 1

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 脚本/函数拆分为任何总体百分比,然后使用该日志记录命令来报告部分的进度。

于 2018-11-11T08:42:03.200 回答