我在 .env 文件中创建了一个 react 环境变量,并且能够通过命令提示符或 power shell 更新它,现在我的目标是通过 azure 管道更新它,因此添加一个 powershell 脚本。但我无法弄清楚如何通过 azure 管道 powershell 脚本在 .env 文件中读取或写入数据。我希望更改不同环境开发阶段产品的基本 url (base_url_dev = https://projectName.dev.azurewebsites.net/)。如果有其他方法,请告诉我
答案 0 :(得分:1)
你会像这样提交你的文件:
base_url = '#{base_url}#'
(永远不要将特定于环境的值提交到源代码中)
然后将每个 AzDo Stage 中的 base_url
变量设置为实际值。 (您也可以使用阶段范围变量组)
在每个阶段,使用 replacetokens
步骤并定位您的 .env
文件以将 #{base_url}#
替换为您为每个阶段声明的实际值。
答案 1 :(得分:1)
通过azure管道更新react源代码
我们可以从 base url
文件中删除 .env
,然后使用内联 powershell 任务通过 Logging Command 设置 base url
:
Write-Host "##vso[task.setvariable variable=REACT_BASE_URL;]$(REACT_BASE_URL)"
然后在变量选项卡中为不同阶段定义具有不同值的变量REACT_BASE_URL
:
或者,正如 michiel 所说,我们可以使用任务 Replace Tokens 来更新 .env
文件中的值。
更改base_urls values to
#{REACT_BASE_URL}#`:
REACT_BASE_URL = #{REACT_BASE_URL}#
然后,还在“变量”选项卡中为不同阶段定义了具有不同值的变量 REACT_BASE_URL
。
并在管道中添加任务替换令牌: