使用内联 PowerShell 任务计算 Azure 管道中任务的运行时间
Calculate elapsed time for a task in azure pipeline using inline PowerShell tasks
我正在尝试在 inline
模式下使用 PowerShell
任务来计算 Azure Pipeline 中的任务经过的时间。简化的设置看起来像附件中的图像。下面提到了内联代码。我遇到了低于指定的错误。
Calculating Elapsed Time...
Cannot find an overload for "op_Subtraction" and the argument count: "2".
At D:\a\_temp\ba6b91f4-ef47-4a51-8088-efc6bcda310d.ps1:5 char:1
+ $duration_min = $end_time - $start_time
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : MethodCountCouldNotFindBest
##[error]PowerShell exited with code '1'.
衡量构建任务所用时间的正确方法是什么?
管道设置:
Get Start Time
内联 powershell 任务中的代码:
$start_time = Get-Date
Write-Host "Scanning Start Timestamp: $($start_time)"
Calculate Elapsed Time
内联 powershell 任务中的代码:
Write-Host "Calculating Elapsed Time..."
$end_time = Get-Date
$duration_min = $end_time - $start_time
Write-Host ("Total Time Elapsed in Minutes: ", $duration_min.TotalMinutes)
任务之间的变量是独立的。要在任务之间传递值,我们可以使用管道变量。在您的设置中,转到“变量”选项卡并创建一个新变量 - 例如 scan_start_time.
在“获取开始时间”任务中添加另一行
Write-Output "##vso[task.setvariable variable=scan_start_time]$($start_time)"
然后在“计算运行时间”任务中
$start_time = "$(scan_start_time)"
我正在尝试在 inline
模式下使用 PowerShell
任务来计算 Azure Pipeline 中的任务经过的时间。简化的设置看起来像附件中的图像。下面提到了内联代码。我遇到了低于指定的错误。
Calculating Elapsed Time...
Cannot find an overload for "op_Subtraction" and the argument count: "2".
At D:\a\_temp\ba6b91f4-ef47-4a51-8088-efc6bcda310d.ps1:5 char:1
+ $duration_min = $end_time - $start_time
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : MethodCountCouldNotFindBest
##[error]PowerShell exited with code '1'.
衡量构建任务所用时间的正确方法是什么?
管道设置:
Get Start Time
内联 powershell 任务中的代码:
$start_time = Get-Date
Write-Host "Scanning Start Timestamp: $($start_time)"
Calculate Elapsed Time
内联 powershell 任务中的代码:
Write-Host "Calculating Elapsed Time..."
$end_time = Get-Date
$duration_min = $end_time - $start_time
Write-Host ("Total Time Elapsed in Minutes: ", $duration_min.TotalMinutes)
任务之间的变量是独立的。要在任务之间传递值,我们可以使用管道变量。在您的设置中,转到“变量”选项卡并创建一个新变量 - 例如 scan_start_time.
在“获取开始时间”任务中添加另一行
Write-Output "##vso[task.setvariable variable=scan_start_time]$($start_time)"
然后在“计算运行时间”任务中
$start_time = "$(scan_start_time)"