【问题标题】:VSTS passing variables into Azure PowerShell Script ArgumentsVSTS 将变量传递到 Azure PowerShell 脚本参数
【发布时间】:2018-02-28 09:36:51
【问题描述】:

我有多个要在其中传递变量的 Azure PowerShell 任务。目前我正在使用脚本参数传递变量,如屏幕截图所示:

脚本参数的问题是,如果有变化,我必须在每个过程中编辑它们。是否可以只有一个变量可以链接到多个进程? 我看过VSTS: Pass build variables into Powershell script task,但无论我如何编辑我的脚本,他们都拒绝工作。该主题也没有解释是否应将变量放入流程变量或队列构建变量中。 这是我试图自动化的脚本:

    param
(
    [Parameter(Mandatory)]
    [String]$NewFileLocation1
)

Set-AzureRmVMCustomScriptExtension -Argument "-NewFileLocation1 $NewFileLocation" -ResourceGroupName Test-RG1`
    -VMName VM1 `
    -Location northeurope `
    -FileUri https://raw.githubusercontent.com/x/assets/master/PowerShell/PS1/PS1/PS1.ps1 `
    -Run 'PS1.ps1' `
    -Name PS1

PS1.ps:

    param
(
    [Parameter(Mandatory)]
    [String]$NewFileLocation

)
New-Item $NewFileLocation

【问题讨论】:

  • 正如 4c74356b41 所说,Variable groups 是更好的方法。
  • 您如何看待变量组?它解决了你的问题吗?
  • 我实际上找到了队列变量(不知道它的正确名称,屏幕截图中的那些)i.stack.imgur.com/eXoTi.png 更适合我的用例。但如果我不尝试可变组,我就不会知道这一点。非常感谢您的意见,伙计们!

标签: powershell azure-devops


【解决方案1】:

只是为了进一步了解如何使用上述变量组,在 Azure DevOps 上,您可以在 Library 子菜单的 Pipelines Menu 中声明它们。在下图中,我声明了一个名为Tailspin Space Game - Release的变量组


然后我可以在 YAML 代码中引用变量组,如下所示:

variables:
- group: 'Timeline CV - Release'

然后我必须将它们作为参数传递给 powershell,如下所示:

- task: PowerShell@2
        displayName: 'Run PowerShell Task'
        inputs:
          filePath: 'path\to\powershell\script\script.ps1'
          arguments: '$(groupVar1) $(groupVar2) $(groupVar3)'

构建变量将可用于 PowerShell 脚本,而无需以这种方式显式将它们作为参数传递。但是,我无法使用变量组中的任何变量实现相同的效果。


我现在可以在 powershell 脚本中使用变量组,该脚本在 powershell 任务中被调用,方式如下:

$GroupVar1OnPowerShellScript = $env:groupVar1
$GroupVar2OnPowerShellScript = $env:groupVar2
$GroupVar3OnPowerShellScript = $env:groupVar3

【讨论】:

    【解决方案2】:

    这是我正在使用的:

    Param (
        [string]$location = $env:location,
        ...
        [string]$tagEnvironment = $env:tagEnvironment
    )
    

    我正在使用 VSTS 库变量组,您可以将变量组链接到不同的发布管道。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-12
      相关资源
      最近更新 更多