如何在VSTS中将多个参数传递给命令行

时间:2018-09-07 12:44:23

标签: azure-devops azure-pipelines-release-pipeline

我正在Release管道中的VSTS中使用命令行。不幸的是,不确定如何将多个参数(例如“用户名”,“密码”和“ siteurl”)传递给命令行

2 个答案:

答案 0 :(得分:1)

如果您正在使用命令行任务,则可以使用格式 $(variablename) 来传递参数。

如下例所示:

enter image description here


要在命令行任务中传递多个变量,格式仍为$(variablename)

例如,命令行脚本可以是:

echo "Please enter your user name: $(username). Please enter to you password: $(password). Please enter the site url: $(siteurl)"

答案 1 :(得分:0)

根据documentation,并使用YAML代码,可以通过env参数来实现。

# Command line
# Run a command line script using Bash on Linux and macOS and cmd.exe on Windows
- task: CmdLine@2
  inputs:
    script: 'echo Example of a command line task'
    env: 
      var1: someValue
      var2: $(someVariable)
      ...

请注意:

秘密变量不会自动映射。如果你有一个秘密 变量Foo,您可以按照上面的示例所示将其映射

此外,不要忘记必须声明要使用的变量。对于在Azure DevOps上可以在“管道”菜单中的“库”子菜单上声明的变量组。在下图中,我声明了一个名为Tailspin Space Game - Release

的组变量

Group variables on Azure DevOps Pipelines

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

variables:
- group: 'Timeline CV - Release'