You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Azure Pipeline下载的安全文件加入React应用构建压缩包?

解决Azure Pipeline中安全文件未纳入构建压缩包的问题

问题出在当前脚本仅将build文件夹内容复制到构建工件目录,而下载的Constants.json留在项目根目录,未被纳入后续打包流程。可以通过以下方式修改脚本,将该文件加入最终压缩包:

方案:单独复制安全文件到工件目录

在Copy Files任务之后,添加一个新的CopyFiles任务,将项目根目录的Constants.json复制到$(Build.ArtifactStagingDirectory),这样打包时就会包含该文件。

修改后的完整YAML脚本:

trigger:
- branch name

pool:
  vmImage: 'windows-latest'

variables:
  projectFolder: '.'
steps:
- task: NodeTool@0
  displayName: 'Use Node 14.17.0'
  inputs:
    versionSpec: 14.17.0

- script: 'npm i'
  displayName: 'Install Dependencies'

- task: DownloadSecureFile@1
  inputs:
    secureFile: 'Constants.json'
- task: CopyFiles@2
  inputs:
    SourceFolder: '$(Agent.TempDirectory)'
    Contents: '**/*Constants.json'
    TargetFolder: '$(projectFolder)'

- script: 'npm run build'
  displayName: 'build app'

- task: CopyFiles@2
  displayName: 'Copy Build Files'
  inputs:
    SourceFolder: build
    TargetFolder: '$(Build.ArtifactStagingDirectory)'

# 新增:复制Constants.json到工件目录
- task: CopyFiles@2
  displayName: 'Copy Constants.json to Artifact Directory'
  inputs:
    SourceFolder: '$(projectFolder)'
    Contents: 'Constants.json'
    TargetFolder: '$(Build.ArtifactStagingDirectory)'

- task: ArchiveFiles@2
  displayName: 'Archive $(Build.ArtifactStagingDirectory)'
  inputs:
    rootFolderOrFile: '$(Build.ArtifactStagingDirectory)'

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact: drop'

另一种可选方案:将安全文件复制到build目录

如果你的项目构建流程会将build目录下的所有文件打包,也可以在下载文件后直接将Constants.json复制到build目录(若build目录未提前存在,可在构建前新增创建目录的步骤),这样后续复制build内容时会自动包含该文件:

# 替换原有的CopyFiles任务
- task: CopyFiles@2
  inputs:
    SourceFolder: '$(Agent.TempDirectory)'
    Contents: '**/*Constants.json'
    TargetFolder: 'build' # 直接复制到build目录

内容的提问来源于stack exchange,提问作者kanchan narula

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 21:12:46