Существует ли решение для получения секретов приложения для различных конфигураций сборки в определении сборки VSTS

Мы пытаемся создать одно определение сборки для построения нескольких конфигураций сборки. Приложение использует секрет приложения Mobile Center, который будет отличаться для приложений, созданных в различной конфигурации. Существует ли способ получения только секрета приложения для конкретной конфигурации сборки без указания всех секретов приложения в одной и той же конфигурации.

Я только что нарисовал это, чтобы объяснить немного лучше. введите описание изображения здесь

Вывод приложения будет идти в репозитории для каждой конфигурации.

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, вы можете использовать другую задачу, например Batch Script.

echo "##vso[task.setvariable variable=sauce]crushed tomatoes"
Другие вопросы по тегам