reactjs Azure DevOps - React应用程序-在发布管道中设置环境变量

x33g5p2x  于 2023-01-25  发布在  React
关注(0)|答案(2)|浏览(129)

我们在AzureDevOps中有一个React应用程序。我们使用npm install/npm run构建来构建它,然后上传zip文件。从那里我们将发布到多个阶段/环境。出于SOX合规性考虑,无论环境如何,我们都尝试维护单个构建/工件。
我尝试做的是能够在发布管道期间设置环境变量。例如,能够替换process.env.REACT_APP_CONFIG_VALUE之类的值
我在发布期间尝试过在Pipeline变量中设置它,但似乎不起作用。这是可能的,还是我必须使用某种json配置而不是使用process.env?
谢谢

xmjla07d

xmjla07d1#

在发布期间设置管道变量无法实现这一点。
建议您可以使用RegEx Match & Replace扩展任务来实现这一点。使用此站点来转换正则表达式:Regex Generator
下面是一个例子:

this._baseUrl = process.env.REACT_APP_CONFIG_VALUE;

此扩展任务将使用正则表达式来匹配文件中的字段。

正在从已发布的js检查。

3phpmpom

3phpmpom2#

我是这么做的-

    • 步骤1:**将所有这些文件(. env. env. development. env. production)作为安全文件添加到Azure devops库中。我们可以使用DownloadSecureFile@1管道任务(yml)在生成计算机中下载这些安全文件。这样,我们可以确保在管道中的任务开始构建模式开发之前,在生成计算机中提供正确的. env文件。

# Download secure file from azure library
  - task: DownloadSecureFile@1
    inputs:
      secureFile: '.env.development'

  # Copy the .env file
  - task: CopyFiles@2
    inputs:
      sourceFolder: '$(Agent.TempDirectory)'
      contents: '**/*.env.development'
      targetFolder: '$(YOUR_DEFINED_PROJECT_ROOT_FOLDER_VARIABLE)'
      cleanTargetFolder: false

请注意,安全文件无法编辑,但您可以随时重新上传。

相关问题