使用azure devops发布管道部署Vue.js应用程序

问题描述 投票:3回答:1

我有一个使用vue-cli 3创建和构建的vue.js应用程序。在.env.test.env.prod文件中有一些环境变量。

要构建应用程序,我正在使用运行命令的azure devops构建管道:npm run build:test或npm run build:prod

这会产生不同的工件,这些工件将输入到天蓝色的devops发布管道中的Stage。

我面临的问题是,我不想为每个环境单独构建。我想构建一个并部署到不同的环境吗?

我如何处理这些变量以针对所有环境构建一次软件包?这是一个好习惯吗?还是我现在应该针对不同的环境使用不同的管道?

vue.js build azure-devops azure-pipelines-release-pipeline vue-cli-3
1个回答
0
投票

从CI的角度看

应该只有一个build pipeline可以构建工件,而不管它运行的环境如何。

[.env.prod可能用于将工件部署到任何环境(DevelopmentProduction等)]

您必须为配置提供令牌,将在部署/发布阶段将其替换:

env_key1=#{token_key1}#
env_key2=#{token_key2}#
env_key3=#{token_key3}#

因此,只需针对所有环境使用单个配置文件构建项目并发布工件。

从CD的角度看

我建议多阶段使用单个release pipelineDevelopmentProduction等)。enter image description here

基于variables groups提供单独的stages。它允许将变量分开,按逻辑分组并使用Azure Key Vault作为秘密来源。变量名称必须等于环境令牌(不带前缀和后缀)。

enter image description here

将所需的任何Task添加到Stage中,这将查找并替换令牌。

当前,我使用市场上的Replace Tokens扩展名。取决于stage,将替换不同的变量组。 Replace Tokens任务自动完成所有工作,例如扫描js文件并替换标记。默认令牌前缀和后缀为:#{ }#,但是任务允许提供您想要的自定义。enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.