0

我们正在尝试创建一个构建定义来构建多个构建配置。该应用程序使用 Mobile Center 应用程序密钥,该密钥对于构建在各种配置中的应用程序会有所不同。有没有办法只获取特定构建配置的应用程序密码,而不在同一配置中指定所有应用程序密码。

我刚刚画出来是为了更好地解释。 在此处输入图像描述

应用程序输出将进入每个配置的存储库。

4

1 回答 1

1

请参考以下步骤来执行此操作:

  1. 添加变量并为每个配置设置相应的值(AppDebug、AppHoc、AppRelease)
  2. 添加 PowerShell 任务(Trpe:内联脚本)

脚本:

switch ($env:BuildConfiguration) 
    { 
        "debug" {Write-Host "##vso[task.setvariable variable=actualSecret;]$env:AppDebug"} 
        "release" {Write-Host "##vso[task.setvariable variable=actualSecret;]$env:AppRelease"} 
        "Hoc" {Write-Host "##vso[task.setvariable variable=actualSecret;]$env:AppHoc"} 
          default {Write-Host "##vso[task.setvariable variable=actualSecret;]$env:AppDebug"}
    }

之后,使用actualSecret变量为您的应用程序设置应用程序机密。

记录命令

注意:如果您使用秘密变量,则需要通过参数传递它们,例如:

 param(
    [string]$appRelease
    )

Write-Host "##vso[task.setvariable variable=actualSecret;]$appRelease"

论据:-appRelease $(appRelease)

顺便说一句,如果构建代理不支持 PowerShell,您可以使用其他任务,例如批处理脚本。

echo "##vso[task.setvariable variable=sauce]crushed tomatoes"
于 2017-07-12T07:21:08.657 回答