【问题标题】:Get Env Variable set in Azure Powershell in Dev Ops Pipeline在 Dev Ops Pipeline 的 Azure Powershell 中获取环境变量集
【发布时间】:2020-11-24 17:51:35
【问题描述】:

我在一个管道中有 2 个 Azure Dev Ops 管道任务 - 第一个调用一个 powershell 脚本来执行一些操作,然后设置一个我想再次引用的 Env 变量;

$env:MYVALUE = "ABC"

这个 powershell 脚本已执行并且运行良好 - 但是我认为在它运行后我可以在管道中引用 $MYVALUE;

task: SqlAzureDacpacDeployment@1
    displayName: 'Do The thing'
    inputs:
      ...
      DatabaseName: '$(MYVALUE)' 
      ...

是否可以从管道中获取ENV变量?

【问题讨论】:

    标签: azure-devops yaml


    【解决方案1】:

    您共享的示例是创建进程变量,因此当进程退出并且您无法从另一个进程(PowerShell 实例)访问该变量时它会丢失。

    我们应该通过power script Write-Host "##vso[task.setvariable variable={variable name}]{variable value}"设置变量,然后我们可以在另一个任务中调用该变量。

    骨架版本如下所示:

    pool:
      vmImage: 'ubuntu-latest'
    
    trigger:
    - none
    
    steps:
    - powershell: |   
       Write-Host ("##vso[task.setvariable variable=MYVALUE]ABC")
      displayName: 'PowerShell Script'
    
    - powershell: |
       Write-Host "The value of MYVALUE is : $($env:MYVALUE)"
      displayName: 'PowerShell Script'
    

    【讨论】:

      猜你喜欢
      • 2021-12-19
      • 2020-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-16
      • 2011-06-03
      • 1970-01-01
      相关资源
      最近更新 更多