具有构建时间变量的JavaScript应用程序管道的正确流程是什么?

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

考虑前端JavaScript应用程序的以下开发流程:

Development Flow

尽管有无数种方法来设计development-> staging-> production管道,但以上内容是相当标准的,对吧?

因此,为什么管道提供程序(例如Bitbucket和Azure)不允许在build步骤中使用与环境有关的变量?

与大多数JavaScript应用程序一样,我们的应用程序是专门为将在以下环境中运行的环境而构建的: developmentstagingproduction。例如,每个环境都有其自己唯一定义的变量集。 APP_URL设置可用于访问应用程序的URL。

环境变量是在应用程序的构建过程中专门读取的,即它们是buildtime变量,而不是runtime变量。

这些提供程序在build步骤中是否不支持不同的环境变量是有原因的吗?这似乎是一件显而易见的事情,使我认为实际上,我们的整个管道流程都是不正确的,而正是我们在做错了……有什么办法可以建议解决这一问题的方法吗?理想情况下,无需在xyz-pipelines.yml中设置这些变量,因为这些变量的全部目的是将它们保留在存储库之外...

javascript node.js azure-pipelines pipeline bitbucket-pipelines
1个回答
0
投票

在DevOps中,期望您在Build管道中获得工件,然后使用Release工作流程将该工件释放到环境中。

您可以尝试在Release pipeline的Release管道中构建前端JavaScript应用程序,该应用程序可以从持续集成系统(例如Azure Pipelines,Jenkins或TeamCity)中获取工件。您还可以使用版本控制系统(例如Git或TFVC)来存储工件。更多详细信息,请参考以下链接:

https://docs.microsoft.com/en-us/azure/devops/pipelines/release/artifacts?view=azure-devops#sources

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