Я настраиваю конвейер CI / CD с помощью DevOps Azure для автоматического развертывания приложения React в нескольких средах.Как я понял, переменные окружения (REACT_APP_ *) используются во время сборки npm.Как настроить этап сборки без создания шага для каждой среды?
Я использую новый ASP.Net Boilerplate проект с интерфейсом React.
.
Вот что у меня есть на данный момент
Я скопировал задачу сборки в package.json, чтобы разрешить несколько сред
"scripts": {
...
"build": "set REACT_APP_ENV=production && react-app-rewired build --scripts-version react-scripts-ts",
"builduat": "set REACT_APP_ENV=uat && react-app-rewired build --scripts-version react-scripts-ts",
...
}
Затем в моем конвейере CI я продублировал задачу сборки.
- script: yarn builduat
displayName: '[UAT] Yarn build front-end'
workingDirectory: $(WorkingDirectoryReact)
- script: yarn build
displayName: '[PROD] Yarn build front-end'
workingDirectory: $(WorkingDirectoryReact)
Я не хочу дублировать вещи для каждой среды, так какое же идеальное решение?Я действительно не хочу создавать решение во время CD (фаза развертывания)