0

我们正在尝试创建一个构建定义以构建多个构建配置。该应用程序使用移动中心应用程序的秘密,这将是不同的应用程序内置各种配置。有没有办法只为特定的构建配置提供应用程序秘密,而无需在同一配置中指定所有应用程序秘密。是否有解决方案来为VSTS中的不同构建配置提供应用程序秘密?构建定义

我刚刚画出来解释一下比较好。 enter image description here

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

+0

通常,您应该执行应用程序的单个构建,然后在** deployment **时适当转换配置文件。 –

+0

构建定义构建Xamarin.Android项目,所以它将成为apk文件。您的回复是否仍适用于移动项目? – Jeeva

+0

移动中心中每个应用只有一个应用秘密,你会从哪里获得其他应用的秘密?或者你在谈论通用的秘密变量?无论哪种方式,我们正在努力支持移动中心中的构建脚本,并希望通过蓝色支持按钮来反馈您的反馈。 声明:我致力于移动中心的构建服务。 –

回答

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变量。

Logging Commands

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

param(
    [string]$appRelease 
    ) 

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

参数:-appRelease $(appRelease)

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

echo "##vso[task.setvariable variable=sauce]crushed tomatoes" 
相关问题