我有一个vue.正在使用vue cli 3创建和构建的js应用程序.我在.env.test
和.env.prod
个文件中有一些环境变量.
要构建应用程序,我正在使用azure devops构建管道来运行以下命令:
这将生成不同的工件,这些工件将输入azure devops发布管道中的Stage.
我面临的问题是,我不希望每个环境都有单独的构建.我想部署一个不同的环境吗?
我如何一次性构建这些环境?这是个好习惯吗?或者我应该像现在这样为不同的环境设置不同的管道吗?
我有一个vue.正在使用vue cli 3创建和构建的js应用程序.我在.env.test
和.env.prod
个文件中有一些环境变量.
要构建应用程序,我正在使用azure devops构建管道来运行以下命令:
这将生成不同的工件,这些工件将输入azure devops发布管道中的Stage.
我面临的问题是,我不希望每个环境都有单独的构建.我想部署一个不同的环境吗?
我如何一次性构建这些环境?这是个好习惯吗?或者我应该像现在这样为不同的环境设置不同的管道吗?
应该只有一个build pipeline
将构建工件,而不管它将在什么环境下运行.
.env.prod
可用于将工件部署到任何环境(Development
、Production
等)
您必须提供带有令牌的配置,这些令牌将在部署/发布阶段被替换:
env_key1=#{token_key1}#
env_key2=#{token_key2}#
env_key3=#{token_key3}#
因此,只需为所有环境使用单个配置文件来构建项目和发布工件.
我建议使用带有多个阶段的单release pipeline
根据stages
提供单独的variables groups
.它允许将变量分开,逻辑分组,并使用Azure Key Vault
作为秘密来源.变量名必须等于环境标记(不带前缀和后缀).
在Stage
中加入你想要的任何Task
,这将找到并替换 token .
目前,我使用来自marketplace的Replace Tokens
扩展.根据stage
,将替换不同的变量组.Replace Tokens
任务自动完成所有工作,即扫描js
个文件并替换令牌.默认的令牌前缀和后缀是:#{
}#
,但任务允许提供您想要的自定义标记.