Azure Devops角环境变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Azure Devops角环境变量相关的知识,希望对你有一定的参考价值。

此时,当对Master分支进行提交时,构建管道将基于“ ng build --prod”生成工件,因此该工件使用项目的生产配置。之后,工件将被部署到测试和生产环境。

对于测试环境,我希望代码使用“ environment.dev.ts”,对于生产环境使用“ environment.prod.ts”。我该如何实现?

答案

有很多方法。我正在使用“令牌”我的生产环境看起来像这样

export const environment = {
  production: true,
  host: 'https://#{{FLYMARK_MAIN_DOMAIN}}#',
  stripeKey: '#{{STRIPE_KEY}}'
};

因此,当我构建我的版本时,因为没有变量,而是令牌,所以我无法使用它。

然后,当我发布时,我确实有替换令牌的步骤。需要在部署脚本之前运行(只需根据需要进行修改)

steps:
- task: qetza.replacetokens.replacetokens-task.replacetokens@2
  displayName: 'Replace tokens in **/Scripts/widgets/**/*.js'
  inputs:
    targetFiles: '**/Scripts/widgets/**/*.js'
    actionOnMissing: fail
    tokenPrefix: '#{{'
    tokenSuffix: '}}#'

此任务将找到我的发布变量,例如FLYMARK_MAIN_DOMAIN,STRIPE_KEY,并替换到我的js文件中。

主要好处是,您只需构建一次就可以部署到只需要替换令牌的任何地方

PS。假设您有开发人员,暂存人员和生产人员。现在要开发,您需要在构建之后进行部署,该构建是由新推送至master触发的,直到您的版本在批准后发布(azure管道支持)enter image description here

所以现在假设您的开发版本为100,您决定将其推送到阶段,然后团队开始进行测试。 3天后,您的开发团队开始掌握许多新东西,因此在dev上您拥有123版,但在过渡中您仍然拥有100版。在经过阶段测试之后,您将把相同版本推向生产环境,因为您有信心,如果您愿意当您准备部署到生产环境时,请使用单独的环境构建版本,您在master中拥有许多新内容,也许您没有信心将其推向生产环境。同样,每种情况都是不同的,有很多方法可以做到,我喜欢这种方法,因为它适合我的项目。

另一答案

好!在深入研究之后,我找到了解决方案-您只需在environment文件中添加angular.json特定的构建配置>

创建一个environment.dev.ts

export const environment = {
    production: false, 
  };

确保已将生产价值分配为false-现在您的解决方案中将有3个环境

更新您的angular.json

在您的angular.json文件中,您可以看到其中具有configurations配置的道具production-现在您只需复制整个产品配置,并像下面提到的那样将新的配置插入为dev,就可以了

 "configurations": {
            "production": {
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.prod.ts"
                }
              ],
            },
            "dev": {
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.dev.ts"
                }
              ],
            }
        }

在上面的配置文件中,您可以看到道具名称fileReplacements-请看一下-根据您的要求更改配置

现在终于通知CLI运行dev config-使用命令ng build --configuration dev,现在CLI将运行您的dev config

希望这对您有所帮助-谢谢快乐编码:)

以上是关于Azure Devops角环境变量的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Terraform 文件中的 Azure Devops 变量组调用环境变量?

通过Azure DevOps部署Service Fabric并在Octopus中管理环境变量

Azure DevOps 发布管道的动态变量组

Azure DevOps 在构建任务中设置内部版本号变量

如何将Azure DevOps中的代码发布到Azure App Service中

如何在 Azure DevOps 变量组中使用 SecureFile?