如何使用 Powershell 设置 Azure DevOps 管道变量
How to set Azure DevOps pipeline variable with Powershell
我目前在我的发布管道中有一个变量,需要通过 Powershell 脚本设置它的值。目的是让它的值可用于下一个任务中的邮递员收集。
我正在尝试以这种方式执行此操作,但无法正常工作。
$content = Get-Content -Path .\token.txt
Write-Host "RP token found: $content"
Write-Host "##vso[task.setvariable variable=readingProgressToken;]$content"
Write-Host "Variable value in pipeline: $(readingProgressToken)"
这是变量
variable
使用设置变量命令将使该变量可用于随后的所有任务步骤。它不会在同一任务的范围内可用。如果您将您的任务分成两步,一组然后一个测试显示,我希望您会看到邮递员步骤的设置可能是 as-expected。
To set a variable from a script, use the task.setvariable logging
command. This doesn't update the environment variables, but it does
make the new variable available to downstream steps within the same
job.
在脚本任务(PowerShell、Bash等)中,如果您使用日志记录命令SetVariable
创建或更新具有指定值的变量,则此变量将具有新的值仅对同一作业中的后续任务可用。
对于运行SetVariable
命令的脚本任务,新值不可用。
所以,如果你想打印变量的新值,你应该在脚本任务之后的另一个任务中打印它。
我目前在我的发布管道中有一个变量,需要通过 Powershell 脚本设置它的值。目的是让它的值可用于下一个任务中的邮递员收集。
我正在尝试以这种方式执行此操作,但无法正常工作。
$content = Get-Content -Path .\token.txt
Write-Host "RP token found: $content"
Write-Host "##vso[task.setvariable variable=readingProgressToken;]$content"
Write-Host "Variable value in pipeline: $(readingProgressToken)"
这是变量 variable
使用设置变量命令将使该变量可用于随后的所有任务步骤。它不会在同一任务的范围内可用。如果您将您的任务分成两步,一组然后一个测试显示,我希望您会看到邮递员步骤的设置可能是 as-expected。
To set a variable from a script, use the task.setvariable logging command. This doesn't update the environment variables, but it does make the new variable available to downstream steps within the same job.
在脚本任务(PowerShell、Bash等)中,如果您使用日志记录命令SetVariable
创建或更新具有指定值的变量,则此变量将具有新的值仅对同一作业中的后续任务可用。
对于运行SetVariable
命令的脚本任务,新值不可用。
所以,如果你想打印变量的新值,你应该在脚本任务之后的另一个任务中打印它。