【问题标题】:How to set new value for the environment variable in VSTS如何在 VSTS 中为环境变量设置新值
【发布时间】:2018-05-18 02:25:39
【问题描述】:

我们使用了 env:msg 合并,但它确实采用了变量选项卡中的默认值。我们无法分配值。即使我们在上一步中看到了值

赋值的代码

$env:msgmerge = 'Git Merge to Master After Deployment Repo:' + "$(reponame)"
Write-Output $env:msgmerge

使用 $env: 创建的环境变量是进程变量,因此当进程退出时它们会丢失,我们无法从另一个进程(PowerShell 实例)访问它们。

【问题讨论】:

    标签: powershell automation azure-devops azure-pipelines-build-task


    【解决方案1】:

    啊这解决了我们需要使用vsts方法

    $msgmerge = 'Git Merge to Master After Deployment Repo:' + "$(reponame)"
    Write-Output $msgmerge
    
    Write-Host ("##vso[task.setvariable variable=msgmerge;]$msgmerge")
    

    【讨论】:

    • 使用Write-Host有什么意义?您的问题出在环境变量上。
    • 即便如此,您为什么使用Write-Host 而不是Write-Output?至少Write-Output 会让你对返回的内容做一些事情。
    • 似乎您想为环境变量设置新值。并为任务组使用新值(在 PowerShell 任务之后)。所以你应该使用Write-Host "##vso[task.setvariable variable=variablename]value"。你也可以参考文档docs.microsoft.com/en-us/vsts/build-release/concepts/…中的powershell脚本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-14
    • 2017-06-21
    • 2011-02-13
    • 2018-09-25
    • 2011-12-30
    • 1970-01-01
    相关资源
    最近更新 更多