【发布时间】:2020-04-02 14:08:41
【问题描述】:
此时,当 Master 分支发生提交时,构建管道将基于“ng build --prod”生成一个工件,因此该工件使用项目的生产配置。之后,工件将被部署到测试和生产环境。
对于测试环境,我希望代码使用“environment.dev.ts”和生产环境“environment.prod.ts”。我怎样才能做到这一点?
【问题讨论】:
-
您可以使用不同的命令进行差异构建,例如 prod ->
ng build env=prod --prod和测试 ->ng build env=test --prod。参考这个blog.angulartraining.com/… -
嗨,这行不通。因为我正在生成一个我想部署到多个阶段的工件。所以最好的解决方法是在运行时更改值,而不是编译时。使用 Azure Devops,我可以制作多个工件..
-
那么您实际上是在使用环境文件中的变量吗?
-
可以,例如:API Url。
-
对。所以环境文件只在构建阶段使用(基于标志)。你不能交换那些运行时。您有两个选项 - 多个构建管道(具有不同的标志),这样您可以保持当前代码不变或选项 2 - 使用包含环境相关变量的 config.json 并加载该运行时(意味着您必须更改您当前的代码)。
标签: angular azure azure-devops environment-variables azure-pipelines