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管道支持)
所以现在假设您的开发版本为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中管理环境变量