部署之前,Azure DevOps在代码内部更新变量

Ext*_*ent 5 javascript azure reactjs devops azure-devops

发布发布时,Azure DevOps是否可以更新部分代码?

例如,我的应用程序中有一个设置文件。此设置文件包含export const ISPROD = false在其中。我需要Azure DevOps才能在构建React应用并部署它之前将此false值更改为true。那可能吗?

注意:我的服务器版本是Linux。

Ben*_*ith 4

您可以使用“替换令牌”任务更新 javascript 文件中的代码,例如

- task: replacetokens@3
    inputs:
      targetFiles: "yourJavascriptFile.js"
      encoding: "auto"
      writeBOM: true
      verbosity: "detailed"
      actionOnMissing: "warn"
      keepToken: false
      tokenPrefix: "#{"
      tokenSuffix: "}#"
    displayName: Perform variable substitution in javascript file file
Run Code Online (Sandbox Code Playgroud)

您可以在用于构建应用程序的任务之前添加此任务。

在您的 javascript 文件中,您将编写要替换的变量,例如

export const ISPROD = #{IS_PROD}#
Run Code Online (Sandbox Code Playgroud)

此任务在运行时会将“#{IS_PROD}#”替换为名为“IS_PROD”的 Azure Devops 变量,并将其值设置为 true。