Существует ли решение для получения секретов приложения для различных конфигураций сборки в определении сборки VSTS
Мы пытаемся создать одно определение сборки для построения нескольких конфигураций сборки. Приложение использует секрет приложения Mobile Center, который будет отличаться для приложений, созданных в различной конфигурации. Существует ли способ получения только секрета приложения для конкретной конфигурации сборки без указания всех секретов приложения в одной и той же конфигурации.
Я только что нарисовал это, чтобы объяснить немного лучше.
Вывод приложения будет идти в репозитории для каждой конфигурации.
1 ответ
Обратитесь к этим шагам, чтобы сделать это:
- Добавить переменные и установить соответствующие значения для конфигураций (AppDebug, AppHoc, AppRelease)
- Добавить задачу 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"