我有一个测试步骤在我的计划中。我希望这一步在计划运行时运行所有测试,但只影响手动或门控运行的测试。为此,我将runOnlyImpactedTests值链接到流程变量,并尝试使用Powershell修改其值。
我能读懂这个变量,但我不能改变它。我有两个问题,但首先,这里是PS脚本
Write-Host "a ${Env:Parameters_runOnlyImpactedTests} b"
Write-Host "##vso[task.setvariable variable=Parameters.runOnlyImpactedTests]True"
Write-Host "c ${Env:Parameters_runOnlyImpactedTests} d"
#Build Reasons:
#https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2013/ff736208(v=vs.120)
if($Env:BUILD_REASON -eq "Schedule"){
Write-Host "Is Scheduled. Should run all tests"
Write-Host "##vso[task.setvariable variable=Parameters.runOnlyImpactedTests]False"
}
#gci env:
#gci variable:
# Use the environment variables input below to pass secret variables to this script.及其输出
2019-11-04T18:32:37.5783531Z Génération du script.
2019-11-04T18:32:37.6377454Z a False b
2019-11-04T18:32:37.6408504Z ##[command]"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command ". 'D:\BuildsVnexAgents\Agt1-3348\_work\_temp\2fca26a4-3bb5-4d51-9d90-a29aa4c755b5.ps1'"
2019-11-04T18:32:37.9377454Z c False d
2019-11-04T18:32:37.9846229Z 我还尝试使用Parameters_runOnlyImpactedTests和Env:Parameters_runOnlyImpactedTests设置变量,但它们都给出了相同的结果。
我现在有两个问题:
发布于 2019-11-05 09:59:15
这对你有用吗?
${Env:Parameters_runOnlyImpactedTests} = $false
Write-Host "a ${Env:Parameters_runOnlyImpactedTests} b"
${Env:Parameters_runOnlyImpactedTests} = $true
Write-Host "c ${Env:Parameters_runOnlyImpactedTests} d"输出:
2019-11-05T09:56:39.8505031Z a False b
2019-11-05T09:56:39.8513437Z c True d${Env:Parameters_runOnlyImpactedTests}还应该在其他管道任务中保持平衡。
发布于 2019-11-05 11:09:03
根据Fairoz的注释进行测试,当在脚本中使用"##vso[task.setvariable variable=Parameters.runOnlyImpactedTests]True"时,这个变量的值的输出不会在相同的任务中发生变化。修改后的值将在后续任务中正常输出。
steps:
- powershell:
Write-Host " a $(Parameters_runOnlyImpactedTests) a "
"##vso[task.setvariable variable=Parameters_runOnlyImpactedTests]True"
Write-Host " b $(Parameters_runOnlyImpactedTests) b "
- powershell: Write-Host "c $(Parameters_runOnlyImpactedTests) c "


https://stackoverflow.com/questions/58699493
复制相似问题