Как установить process.env.var в devops конвейере Azure - PullRequest
0 голосов
/ 28 октября 2019

У меня есть задача развернуть приложение 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

Проблемы:

  1. Переменная окружения не задана.
  2. Я даже не знаю, как создать еще один артефакт для производства, но не для разработки.

Может быть, у вас уже была задача развернуть приложение ядра реакции в 2 разных средах? Или, пожалуйста, дайте совет, если мне нужно вообще изменить стратегию развертывания.

Единственное решение, которое я нашел, - это использовать файл .env, но я должен зафиксировать этот файл в git - развернуть его из master. И я до сих пор не знаю, как использовать разные файлы для dev и prod.

...