У меня есть задача развернуть приложение React с ядром aspnet в 2 разных средах: средах разработки и производства. Каждая из этих сред должна быть настроена отдельно.
Я использую devops Azure для CI / CD
В проекте AspNet содержатся следующие команды для построения приложения
<Exec WorkingDirectory="$(SpaRoot)" Command="npm install" />
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build" />
Я использую adal для авторизации, поэтому мне нужно пройти некоторыесекретные переменные, которые различны для Dev и Prod
const adalConfig = {
tenant: process.env.REACT_APP_TENANT,
clientId: process.env.REACT_APP_CLIENT_ID,
redirectUri: process.env.REACT_APP_REDIRECT_URI,
В devops Azure я устанавливаю параметры с помощью команды:
echo ##vso[task.setvariable variable=REACT_APP_TENANT;isOutput=true]c00000-00ce-000-0f00-0000000004000
в devops azure У меня есть следующие стандартные команды для приложения сборки ядра aspnet
- .Net core installer
- Resore
- команда запуска (для установки переменных env)
- Build
- publish
Проблемы:
- Переменная окружения не задана.
- Я даже не знаю, как создать еще один артефакт для производства, но не для разработки.
Может быть, у вас уже была задача развернуть приложение ядра реакции в 2 разных средах? Или, пожалуйста, дайте совет, если мне нужно вообще изменить стратегию развертывания.
Единственное решение, которое я нашел, - это использовать файл .env, но я должен зафиксировать этот файл в git - развернуть его из master. И я до сих пор не знаю, как использовать разные файлы для dev и prod.