首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >部署环境和代码分支有什么区别?

部署环境和代码分支有什么区别?
EN

Stack Overflow用户
提问于 2022-04-19 14:26:54
回答 1查看 625关注 0票数 2

Intro

我正在开发一个具有不同部署环境的应用程序:

  • 发展(发展)
  • 用户验收测试
  • PROD (生产)

我知道新版本的开发是在DEV中进行的,它被推到UAT进行测试,然后被推到PROD以供实际使用。不同的环境用于确保开发人员能够在不影响应用程序的实际用户的情况下进行操作和出错。

然而,当需要“修补程序”(=需要紧急修复的bug)时,我有点困惑。一位同事告诉我,在这种情况下,PROD环境的代码是“分支”的,并被推到了DEV。当bug被固定在dev上时,分支会被进一步推送到UAT,并最终再次触发。即使DEV的下一个版本已经有了一些进展,但是这个工作仍然不会丢失,因为“修补程序”是在另一个“分支”上完成的。

问题

关于部署环境和代码分支之间的区别,下面的理解是正确的吗?

  • 代码分支只是一个代码基的副本,它开始独立的生活,直到它再次与主代码分支合并。
  • 部署环境是一个有代码的环境,一个用于与代码交互的数据库,以及执行代码的计算能力。

因此,区别主要在于部署环境在纯“代码”之上具有数据库和计算能力。

EN

回答 1

Stack Overflow用户

发布于 2022-06-05 16:43:42

你几乎是对的。分支-often是一个git分支-是在某个时间点从代码基中提取的一个叉/拷贝。在您的例子中,您的分支"hotfix“是来自"master”分支的副本。您可以根据需要修改代码,然后将其合并回"master“。

部署环境是代码库-specific分支实例运行的地方。它在物理机器功能和配置变量方面有所不同。

数据库凭据(URL、用户名和密码)是一个很好的例子,因为每个部署都应该处理自己的数据。外部API的键和访问令牌应该作为环境变量保存,而在代码库中,您尝试从环境读取它。

这样,如果您的应用程序创建订单->调用支付网关API ->向客户->发送电子邮件等,则在开发过程中您将调用沙箱API,而不是采取付款和发送电子邮件的实际操作。而且开发人员不知道其他服务的真实凭证或访问密钥。

12因子app会给你更多满意的知识。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71926641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档