gpt4 book ai didi

deployment - 使用 Mercurial 管理 Web 开发和部署之间差异的最简单方法?

转载 作者:行者123 更新时间:2023-12-03 16:29:12 25 4
gpt4 key购买 nike

我正在使用 Mercurial 进行网站开发。我“认为”我正确使用了它。

我在我的开发机器上进行开发,相当定期地提交。我会定期将我的提交推送到我的托管站点开发存储库。

如果事情按照我想要的方式设置为实时站点,我会从我的开发计算机推送到托管站点实时存储库。然后我从该存储库下载到实时服务器。

但是,需要进行一些更改(将目录从 localhost 更改为 www.example.com、更改数据库连接内容等)。

我所做的就是在我的实时计算机上进行这些更改,然后将它们推送回站点实时存储库。我真的不知道为什么要这样做,但至少有一个变更集包含必要的配置更改。

我不知道如何管理这个过程。除了 promise 、插入和拉动 Mercurial 之外,我有点迷失了。我是一名单一开发人员,甚至还没有进行 merge 。

是否有某种方法可以识别特定的变更集,并应用它,甚至希望在我从存储库拉取到实时服务器之前?

我想你可以从我的问题中看出我现在对 hg 和工作流程有点不知所措;)

最佳答案

这是我的理解:

本质上,您想要做的是拥有一个开发、暂存和部署环境。您使用“开发”存储库进行开发,在临时环境中进行测试,然后在满意后将这些更改拉入部署存储库。当您从暂存到部署时,您需要更改环境/配置数据。

我的看法是您根本不应该更改配置。

您应该拥有配置文件,以便您拥有

  1. 基本配置文件

    basic.conf

  2. 环境特定覆盖

    basic.dev.conf, basic.staging.conf and basic. deployment.conf

  3. 使用环境变量:

    The overrides to the basic configuration data should be defined via an environment
    specific variable : APP_ENV : dev or staging or deploy

这样您应该能够根据环境覆盖配置,而无需更改配置信息。

每次将代码从开发阶段拉到部署阶段时都依赖于对配置文件进行更改并不是一个好主意。

关于deployment - 使用 Mercurial 管理 Web 开发和部署之间差异的最简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4028487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com