我在 Git 中有 2 个分支 - 暂存和生产。它们部署到同一个 VPS,其中有一个生产数据库和一个单独的临时数据库。这使我们能够在不影响生产环境的情况下暂存新功能。然后,当我们准备好时,我们将数据库更改从登台复制到生产。
设置它的最佳方法是什么,以便暂存分支具有单独的数据库凭据来生产?目前,数据库凭据存储在单个文件中。我一直在考虑使用 gitignore 在两个分支中忽略这个文件并手动编辑它,以便它在每个分支上保持不同。这是最好的做法还是有更好的方法?
我在 Git 中有 2 个分支 - 暂存和生产。它们部署到同一个 VPS,其中有一个生产数据库和一个单独的临时数据库。这使我们能够在不影响生产环境的情况下暂存新功能。然后,当我们准备好时,我们将数据库更改从登台复制到生产。
设置它的最佳方法是什么,以便暂存分支具有单独的数据库凭据来生产?目前,数据库凭据存储在单个文件中。我一直在考虑使用 gitignore 在两个分支中忽略这个文件并手动编辑它,以便它在每个分支上保持不同。这是最好的做法还是有更好的方法?
我们使用级联方法:
config
”文件中。config_prod
和一个config_dev
.PROJ_SETTINGS
并将其指向我们需要加载的文件。然后代码读取默认值,然后用环境变量指向的资源(如果存在)中可用的任何内容覆盖它们。
这个变量的设置由我们的普通 devops/automation 脚本负责。我们有几个优势:
是的 gitignoring database.yml 文件是我在一些组织中使用过的一种方法。
我们通常在源代码管理中保留一个 database.yml.sample 以便更容易。用户只需将其复制到 database.yml 并根据需要进行修改。